Java:我添加这个面板时有没有做错什么? 我在中间创造了乒乓球,我不确定是否做错了什么。如果错误与框架无关,请告诉我 public class PongFrame extends JFrame { PongFrame(){ super("PONG"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(600,400); this.setVisible(true); this.setResizable(false); this.setLocation(450,200); setLayout(new BorderLayout()); PongPanel panel = new PongPanel(); add(panel, BorderLayout.CENTER); } }

Java:我添加这个面板时有没有做错什么? 我在中间创造了乒乓球,我不确定是否做错了什么。如果错误与框架无关,请告诉我 public class PongFrame extends JFrame { PongFrame(){ super("PONG"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(600,400); this.setVisible(true); this.setResizable(false); this.setLocation(450,200); setLayout(new BorderLayout()); PongPanel panel = new PongPanel(); add(panel, BorderLayout.CENTER); } },java,swing,Java,Swing,您正在调用this.setVisible(true)在完成构建GUI之前,应该尽可能调用最后一个 public class PongFrame extends JFrame { PongFrame(){ super("PONG"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); setLayout(new Bor

您正在调用
this.setVisible(true)在完成构建GUI之前,应该尽可能调用最后一个

public class PongFrame extends JFrame {
    PongFrame(){
        super("PONG");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setResizable(false);

        setLayout(new BorderLayout());
        PongPanel panel = new PongPanel();

        add(panel, BorderLayout.CENTER);

        this.setSize(600,400);
        this.setLocation(450,200);
        this.setVisible(true);

    }
}

您还应该依赖于
JFrame#pack
而不是
setSize

您只需将
JFrame.setVisible(…)
属性设置为
true
,远远早于添加任何组件。只有当所有组件都添加到同一行时,才将其作为最后一行调用:-)错误是什么?Swing GUI中可能会出现很多错误,这需要更多的上下文。至少告诉我们“错误”是什么,您期望发生什么,以及您从何处调用此代码。谢谢您的帮助,我会立即更改错误。