为什么背景不变色啊??请指教!!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class man extends JFrame
{
public static void main(String[] args)
{
man m=new man();
m.setSize(400,350);
m.setLocation(300,180);
woman w=m.new woman();
m.add(w);
w.setBackground(Color.RED);
m.setVisible(true);
m.setDefaultCloseOperation(man.EXIT_ON_CLOSE);
}
class woman extends JPanel
{
public void paintComponent(Graphics g)
{
Graphics2D g1=(Graphics2D)g;
g1.drawLine(1,1,1,81);
g1.drawLine(11,1,11,81);
g1.drawLine(1,1,81,1);
g1.drawLine(1,11,81,11);
}
}
}
----------------解决方案--------------------------------------------------------
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g1=(Graphics2D)g;
g1.drawLine(1,1,1,81);
//......
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
public void setBackground(Color bg)
设置此组件的背景色。背景色仅在组件是不透明时才使用,并且只能由 JComponent 或 ComponentUI 实现的子类使用。JComponent 的直接子类必须重写 paintComponent 以遵守此属性;
以上是setBackground在Java文档中的描述;
所以调用super.paintComponent(g);就是为了设置组件的背景色为不透明;
----------------解决方案--------------------------------------------------------
好,谢谢了!
----------------解决方案--------------------------------------------------------
那在画圆的时候不就保留不了原先画的圆!!
----------------解决方案--------------------------------------------------------