【发布时间】:2012-12-24 02:42:07
【问题描述】:
这是我的代码:
public class JavaApplication7 extends JPanel
{
public static void main(String[] args) {
JPanel pan = new JPanel();
JFrame frm = new JFrame();
frm.add(new JavaApplication7());
frm.setSize(500, 500);
frm.setBackground(Color.yellow);
frm.setForeground(Color.red);
frm.setVisible(true);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pan.setSize(768,512);
pan.setVisible(true);
}
public void paintComponent (Graphics g){
g.drawOval(50, 50, 50, 50);
g.setColor(Color.CYAN);
}
}
我希望椭圆形改变颜色,但是当我运行我的程序时,它仍然是黑色而不是我想要的青色。
【问题讨论】:
-
不要忘记调用
super.paintComponent作为覆盖paintComponent方法中的第一次调用,否则保证您接下来将发布有关视觉异常的信息:P 也不要忘记通过@在 EDT 上创建和操作 Swing 组件987654324@块 -
@DavidKroukamp 首先感谢您的建议。虽然如果我把 super.paintComponent() 然后背景颜色消失了我该如何克服这个问题?
-
为图形对象绘制背景色即
g.setColor(Color.red); g.fillRect(0,0,getWidth(),getHeight());