小编典典

绘画组件方法不适用于JFrame

java

我尝试使用JLabel’s之后尝试在屏幕上绘制图像,现在正在尝试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或组件。


阅读 159

收藏
2020-11-23

共1个答案

小编典典

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

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

2020-11-23