我正在构建一个以图像作为背景的 JFrame。我正在重写 Paint() 方法以在 JFrame 中绘制该图像,但是当我在 Eclipse 中启动应用程序时,我添加的 JComponent 都不可见。这是我的 SSCCE:
public class foo extends JFrame{
Image i = ImageIO.read(new URL("http://pittsburgh.about.com/library/graphics/regatta_balloons-640.jpg"));
foo(){
setSize(100, 100);
add(new JButton("Foo"));
setVisible(true);
}
@Override public void paint(Graphics g){
super.paint(g);
g.drawImage(i, 0, 0, null);
}
}
最佳答案
不要重写JFrame的paint()方法!!!这不是定制绘画的完成方式。
如果您尝试向框架添加背景图像,请查看 Background Panel有几种方法。
关于java - super.paint() 在图像上不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965284/