当前位置: 代码迷 >> Java相关 >> [求助]背景变色问题!!
  详细解决方案

[求助]背景变色问题!!

热度:190   发布时间:2007-11-11 11:14:37.0
[求助]背景变色问题!!

为什么背景不变色啊??请指教!!
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);
//......
}
----------------解决方案--------------------------------------------------------
回复:(csight)public void paintComponent(Graphic...
好的,谢谢了

----------------解决方案--------------------------------------------------------
回复:(csight)public void paintComponent(Graphic...
我想问一下,为什么不加super.paintComponent(g);会设置不了背景??

----------------解决方案--------------------------------------------------------
public void setBackground(Color bg)
设置此组件的背景色。背景色仅在组件是不透明时才使用,并且只能由 JComponent 或 ComponentUI 实现的子类使用。JComponent 的直接子类必须重写 paintComponent 以遵守此属性;

以上是setBackground在Java文档中的描述;
所以调用super.paintComponent(g);就是为了设置组件的背景色为不透明;
----------------解决方案--------------------------------------------------------
回复:(csight)public void setBackground(Color bg...

好,谢谢了!


----------------解决方案--------------------------------------------------------
回复:(csight)public void setBackground(Color bg...
如果为了能改变背景颜色用上super.paintComponent(g);
那在画圆的时候不就保留不了原先画的圆!!
----------------解决方案--------------------------------------------------------
  相关解决方案