我已经完成了一项学校任务,而且我还没有过于擅长Java ......我正在制作一个borderlayout框架,其中有几个面板,包括一些将从以下交换的面板可见,可见,反之亦然。由于某种原因,我在运行程序时没有显示任何内容。
public class QuizIT extends JFrame {
public static JFrame Frame;
public static Welkom Welkom;
public static Vraag1 Vraag1;
public static Vraag2 Vraag2;
public static Vraag3 Vraag3;
public static Vraag4 Vraag4;
public static Vraag5 Vraag5;
public static Vraag6 Vraag6;
public static Punten Punten;
public static Uitleg Uitleg;
public static void main(String[] args){
// Frame Eigenschappen
Frame = new JFrame();
Frame.setSize(500, 500);
Frame.setLocation(0, 0);
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame.setTitle("QuizIT | Naesen Technologies");
Frame.setVisible(true);
}
public QuizIT(){
// Layout -> BorderLayout
setLayout(new BorderLayout());
// Initialiseren Klassen
Welkom = new Welkom();
Uitleg = new Uitleg();
Vraag1 = new Vraag1();
Vraag2 = new Vraag2();
Vraag3 = new Vraag3();
Vraag4 = new Vraag4();
Vraag5 = new Vraag5();
Vraag6 = new Vraag6();
Punten = new Punten();
// Panel -> Frame
Frame.add(Welkom, BorderLayout.CENTER);
Frame.add(Uitleg, BorderLayout.NORTH);
Frame.add(Vraag1, BorderLayout.CENTER);
Frame.add(Vraag2, BorderLayout.CENTER);
Frame.add(Vraag3, BorderLayout.CENTER);
Frame.add(Vraag4, BorderLayout.CENTER);
Frame.add(Vraag5, BorderLayout.CENTER);
Frame.add(Vraag6, BorderLayout.CENTER);
Frame.add(Punten, BorderLayout.SOUTH);
// Layout -> Bounds
Uitleg.setBounds(0,0,500,100);
Welkom.setBounds(0,100,500,300);
Vraag1.setBounds(0,100,500,300);
Vraag2.setBounds(0,100,500,300);
Vraag3.setBounds(0,100,500,300);
Vraag4.setBounds(0,100,500,300);
Vraag5.setBounds(0,100,500,300);
Vraag6.setBounds(0,100,500,300);
Punten.setBounds(0,400,500,100);
Uitleg.setBackground(Color.YELLOW);
Welkom.setBackground(Color.YELLOW);
// Visibility
Welkom.setVisible(true);
Uitleg.setVisible(true);
Vraag1.setVisible(false);
Vraag2.setVisible(false);
Vraag3.setVisible(false);
Vraag4.setVisible(false);
Vraag5.setVisible(false);
Vraag6.setVisible(false);
Punten.setVisible(true);
}
}
答案 0 :(得分:1)
可能是程序启动时首先调用构造函数。之后的主要方法。这可能就是它只加载窗口但不加载任何组件的原因。
您可以尝试使用方法instad替换构造函数,并在main方法的最后一行调用该方法。
此代码工作正常。用我的代码替换我在方法中写的东西!
public static void main(String[] args){
// Frame Eigenschappen
Frame = new JFrame();
Frame.setSize(500, 500);
Frame.setLocation(0, 0);
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Frame.setTitle("QuizIT | Naesen Technologies");
Frame.setVisible(true);
methodQuizIT();
}
public static void methodQuizIT(){
NOW THIS CODE EXECUTES :)
} }