Paint Component Method不适用于JFrame

时间:2013-09-21 20:49:12

标签: java swing jframe paint paintcomponent

我试图在尝试使用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或组件,如果这会产生影响。

1 个答案:

答案 0 :(得分:4)

JFrame没有paintComponent方法。您应该避免直接绘制到框架而是使用JPanel并覆盖其paintComponent方法

您还应该使用@Override注释,如果父类没有您尝试覆盖的方法,则会引发编译器异常...