代码:
import javax.swing.*;
import java.awt.*;
public class firstGUI extends JPanel {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500,500);
frame.setVisible(true);
}
public void paintComponent(Graphics g) {
Image image = new ImageIcon("dist.jpg").getImage();
g.drawImage(image,0,0, this);
}
}
编译完美,但是当我运行它时,它只显示一个表单。没有图片(或paintComponent
中的任何其他操作)出现。有什么我想念的吗?
答案 0 :(得分:4)
您的paintComponent
方法是firstGUI
类(JPanel
)的实例方法。问题是您没有创建firstGUI
的实例并将其添加到框架中。
以下替换main
方法实例化firstGUI
并将其添加到框架的contentPane
:
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.getContentPane().add(new firstGUI());
frame.setVisible(true);
}