Java 为什么我的Jframe会打开一个空窗口?
我想为学校做一个游戏,比如Puralax。这是我学Java的第一年 目前,我正在通过“viewTest”和“DitMoetWerken.java”类进行测试,以生成完整的JFrame 我猜瓦库伊没有上漆,但我不知道为什么。这些应该是我矩阵中的方块 这就是我所说的所有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
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);
}}