【发布时间】:2012-06-03 17:32:19
【问题描述】:
我在框架上显示图像时遇到问题。当图片显示时,左上角没有转到指定的 (0,0),当我第一次运行它时,窗口的背景也会呈现窗口后面的任何视觉组件。有人知道出了什么问题吗?在此先感谢-
import java.awt.image.ImageObserver;
import java.io.File;
import javax.imageio.*;
import javax.swing.*;
public class Window extends JFrame{
//the pictures
Image testImage = null;
Image backPic = null;
//constructor
Window(){
super("window");
this.startWindow();
}
public void startWindow(){
Image customIcon = Toolkit.getDefaultToolkit().getImage("iconImage.gif");
testImage = Toolkit.getDefaultToolkit().getImage("tester.gif");
backPic = Toolkit.getDefaultToolkit().getImage("black.png");
setSize(700,600);
setIconImage(customIcon);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setResizable(false);
setLocationRelativeTo(null);
}
public void paint(Graphics g){
g.drawImage(testImage,0,0,null);
}
}
【问题讨论】:
-
您是否从 EDT (
SwingUtilities.invokeLater...) 致电new Window()? -
另外,您可能需要调用
super.paint(g)来绘制帧的其余部分。
标签: java swing background window