我认为我有点白痴,因为我在一段时间内没有完成Swing编程,但我正在尝试绘制一个简单的图像来屏幕显示,我没有得到我期望的结果无法在OSX上的Swing中显示图像
public class ImageApp {
public static void main(String[] args) throws MalformedURLException, IOException {
final Image image = ImageIO.read(new File("/Library/WebServer/Documents/image.gif"));
final JPanel component = new JPanel(){
public void paint(final Graphics g) {
System.out.println("Drawing image "+image.getWidth(null)+" "+image.getHeight(null));
g.drawString("hello", 0,0);
g.drawImage(image,this.getWidth()/2,this.getHeight()/2, 100, 100, Color.blue,this);
super.paint(g);
}
};
final JFrame frame = new JFrame();
frame.add(component);
frame.setSize(100, 100);
frame.pack();
frame.setVisible(true);
}
}
这呈现一个空白窗口,似乎没有大小为100,100。是否还需要执行其他一些步骤才能使图形出现在屏幕上,或者需要遵循的尺寸?
我使用JDK6上OSX 10.6
它已经我已经好久没做了秋千,而只是扫视,你设置帧大小不同的代码,而不是元件尺寸;您将框架设置为可见但不是组件。这些很重要吗? – sarnold 2010-08-04 09:05:53
我尝试添加大小和setVisible(true),似乎没有任何区别? – Ceilingfish 2010-08-04 09:10:00
用户是否具有读取图像位置的权限? – Goibniu 2010-08-04 09:15:44