我来自Python到Java,我有点困惑。我的主要问题是如何绘制图像。我已经查看了oracle网站,但即使复制 - 粘贴他们的代码也没有用。这是我的(不包括进口):
public class ImageTesting{
public void main(String[] args){
BufferedImage img = null;
try {
img = ImageIO.read(new File("/Volumes/Data/Users/me/Desktop/Button Img.png"));
Graphics g = null;
g.drawImage(img, 100, 100, this);
} catch (IOException e) {
System.out.println("Image Loading Failed");
}}}
我遇到问题的一行是g.drawImage(img,100,100,this);抱怨没有图像观察者。令我感到困惑的是,同一行在另一个代码中工作但我的工作:/我错过了什么?!
答案 0 :(得分:4)
你需要一些东西来显示你的形象。
最简单的方法是使用JLabel
,请参阅How to use labels了解示例
您需要一个窗口来显示标签,有关详细信息,请参阅How to create GUIs with Swing
如果出于某种原因,您绝对必须手动绘制图像,则需要从可绘制的内容(例如JPanel
)扩展并覆盖其paintComponent
方法。
有关详细信息,请参阅How to perform custom painting