Java 为什么我的Jframe会打开一个空窗口?

Java 为什么我的Jframe会打开一个空窗口?,java,swing,user-interface,layout,jframe,Java,Swing,User Interface,Layout,Jframe,我想为学校做一个游戏,比如Puralax。这是我学Java的第一年 目前,我正在通过“viewTest”和“DitMoetWerken.java”类进行测试,以生成完整的JFrame 我猜瓦库伊没有上漆,但我不知道为什么。这些应该是我矩阵中的方块 这就是我所说的所有JFrame: public class DitMoetWerken extends JFrame { Spel spel; public DitMoetWerken(Spel spel, int level) throws Hea

我想为学校做一个游戏,比如Puralax。这是我学Java的第一年

目前,我正在通过“viewTest”和“DitMoetWerken.java”类进行测试,以生成完整的JFrame

我猜瓦库伊没有上漆,但我不知道为什么。这些应该是我矩阵中的方块

这就是我所说的所有JFrame:

public class DitMoetWerken extends JFrame {
Spel spel;

public DitMoetWerken(Spel spel, int level) throws HeadlessException {
    this.spel = spel;
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    setSize(800,500);
    setTitle("Puralax");
    setVisible(true);
    spel.beginLevel(level);
    SpelFrame spelFrame = new SpelFrame(spel,new JButton("terugknop"),new JButton("resetknop"));
    this.add(spelFrame,BorderLayout.CENTER);
这是我制作比赛花名册的地方。这是一个矩阵,其中该级别的长度为3x3:

public class SpelbordUI extends JPanel {

private final Spel spel;
private SpelRooster spelRooster;
private boolean vakChecker = false;
private  Vak bewaardVak;

public SpelbordUI(Spel spel) {
    this.spel = spel;
    this.spelRooster = spel.getSpelRooster();
    initAll();

}

private void initAll(){
    this.removeAll();
    this.setLayout(new GridLayout(spelRooster.getLengte(),spelRooster.getLengte(),20,20));

    for (int i = 0; i < spelRooster.getLengte(); i++) {
        for (int j = 0; j < spelRooster.getLengte(); j++) {
            VakUI vak = new VakUI(spelRooster.getRooster()[i][j]);

            this.add(vak);

        }
    }
}}

在课堂上,迪特沃肯<代码>设置可见()应该放在
this.add(spelFrame,BorderLayout.CENTER)下面。这解决了我的空窗口问题。

请将相关代码与问题一起发布在此处,而不是链接中。请注意,在来到这里之前,您的第一项工作是调试以尝试隔离问题,因为这将帮助您限制必须发布的代码,并使我们更容易理解您的问题并帮助您。最好是你能创建并发布一个。看不到你的代码项目…我几乎可以说这只是文件共享服务的垃圾邮件…Chit和你的链接需要cookies,看起来不是一个值得信任的网站。坏孩子!“我认为代码是必要的。”不可编译的代码片段不是MCVE。MCVE需要是一个源文件(因此只有一个
public
类),带有相关的导入和
main(String[])
才能将其显示在屏幕上。除非一个最小的例子可以编译,运行,并显示没有任何变化或添加的问题,它不是一个MCVE。我不知道我如何才能发布这个。我的项目使用超过10个类。我不能只发布1,否则它不会工作。我的
main(String[])
所在的文件。只是为DitMoetWerken类创建一个新对象。像这样
ditmoetwerkenoframe=newditmoetwerken(newspel(),1)
public class VakUI extends JPanel {

private Color kleur;
private Vak vak;

public VakUI(Vak vak) {
    this.vak = vak;
    this.kleur = vak.getKleur();
}

public Vak getVak() {
    return vak;
}

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    this.setBackground(kleur);

}}