【发布时间】:2015-05-18 04:35:14
【问题描述】:
在我的应用程序中,我在背景中有一张十字路口图片,我想在其顶部绘制交通信号灯(带有 3 个圆圈的黑色矩形) 问题是,我根本看不到矩形,就好像它在图像下面一样。如果我切换项目的绘制顺序,我会得到全黑图像。
您知道如何解决这个问题吗?我是图形新手并搜索了类似的问题,但没有一个对我有帮助。 谢谢。
public MainFrame() throws HeadlessException {
super("semafor");
crossroad = new ImageIcon("cross.png");
initFrame();
initComponents();
sem1 = new Semafor(true, 100, 100);
add(sem1);
repaint();
setVisible(true);
}
//here I paint the image
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(crossroad.getImage(), 0, 45, this);
}
//and in class Semafor i paint the actual traffic lights
@Override
public void paint(Graphics g) {
g.setColor(Color.black);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.darkGray);
//and then the circles
}
【问题讨论】: