我试图在尝试使用JLabel之后在屏幕上绘制图像,现在我正在尝试使用paintComponent方法。我在没有看到任何结果后尝试插入断点,并且没有调用该方法,也没有出现任何结果。我该怎么办?这是我的重要代码 -
`
public void createWindow(){
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setSize(xSize, ySize);
frame.setLocation(0, 0);
frame.addComponentListener(this);
//frame.add(im);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(placeholder, 0, 0, getWidth(), getHeight(), null);
g.drawString("Hello", 100, 100);
}
此外,我正在使用JFrame而不是JPanel或组件,如果这会产生影响。
答案 0 :(得分:4)
JFrame
没有paintComponent
方法。您应该避免直接绘制到框架而是使用JPanel
并覆盖其paintComponent
方法
您还应该使用@Override注释,如果父类没有您尝试覆盖的方法,则会引发编译器异常...