java组件关于背景的设置

来源:百度知道 编辑:UC知道 时间:2024/07/04 21:45:52
pane = new JPanel()
{
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
ImageIcon icon = new ImageIcon("1.jpg");
Image image = icon.getImage();
g.drawImage(image,0,0,this);
//super.paintComponent(g);
}
}我在这个panel中添加button等组件,为什么super.paintComponent(g)写在第一句可以看见背景图片和button组件 super.paintComponent(g)写在最后只看见button组件却看不见背景图片了呢?

因为:super.paintComponent(g)是对当前活动窗体进行重绘的。重绘时调用g.drawImage()方法添加图片,当然能看到了。但你添加后再次重绘就等于没添加还是空白。所以就看不到图片。而button组件是调用p.add(button)添加在面板上面的,不管怎么重绘都能可见。个人理解,仅供参考。