【发布时间】:2014-02-01 02:30:22
【问题描述】:
我正在用 java 创建一个简单的应用程序,它在 JFrame 上显示 JPEG 图像。
我创建了一个类 MyPanel,它扩展了 JPanel 并覆盖了 paintComponent() 方法:
import javax.swing.*;
import java.awt.*;
public class MyPanel extends JPanel {
public void paintComponent(Graphics graphics)
{
Image image = new ImageIcon("ax.jpeg").getImage();
graphics.drawImage(image, 1, 1, this);
}
}
然后我将新创建的面板添加到我的主应用程序类的 JFrame 中:
import javax.swing.*;
public class MyGraphicalApp {
public JFrame jFrame = new JFrame();
public MyPanel myPanel = new MyPanel();
public static void main(String[] args) {
MyGraphicalApp myGraphicalApp = new MyGraphicalApp();
myGraphicalApp.go();
}
public void go()
{
jFrame.getContentPane().add(myPanel);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setSize(300,300);
jFrame.setVisible(true);
}
}
问题是它根本不显示图像。我的图像驻留在我的源文件中:
src
------- ax.jpeg
|
------- MyGraphicalApp.java
|
------- MyPanel.java
感谢您的帮助。
【问题讨论】:
-
您确定要在每次渲染应用程序时重新加载图像吗?
标签: java swing jframe jpanel awt