JPanel 仅在最小化框架然后最大化框架之后加载。
JPanel only loads after Minimizing and then Maximizing frame.
如果我 运行 我的应用程序,我必须再次最小化和最大化它才能看到任何东西。我想这是由于在我的标签中使用 HTML 代码引起的...知道如何解决这个问题吗?如果是,我该如何解决?
lblUitleg.setText("<html>QuizIT is een vragenreeks over Informaticabeeher. Er worden in totaal 6 vragen gesteld.<br> Om geslaagd te zijn, moet je 4/6 behalen. Succes!</html>");
我使用 HTML 在我的标签中换行。
最后应该是这样的……http://prntscr.com/5r55le
package quiz;
// Imp.
import java.awt.*;
import javax.swing.*;
public class Quiz {
// Decl. Frame
public static JFrame frame;
public static void main(String[] args) {
// Creat. Frame
frame = new JFrame();
frame.setSize(600,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("QuizIT | Knowledge is Power...");
frame.setVisible(true);
frame.setLayout(new BorderLayout());
frame.setContentPane(new Paneel());
}
public static class Paneel extends JPanel {
// Decl. Var.
public JPanel pnlWelkom, pnlUitleg, pnlVragen, pnlVraag1, pnlVraag2, pnlVraag3, pnlVraag4, pnlVraag5, pnlVraag6, pnlPunten;
public JLabel lblNaam, lblWelkom, lblUitleg, lblVraag1, lblVraag2, lblVraag3, lblVraag4, lblVraag5, lblVraag6;
public JButton btnStart, btnVraag1, btnVraag2, btnVraag3, btnVraag4, btnVraag5, btnVraag6;
public Paneel() {
setBackground(Color.RED);
setLayout(new BorderLayout());
// Init. Var.
pnlWelkom = new JPanel();
pnlUitleg = new JPanel();
pnlVraag1 = new JPanel();
pnlVraag2 = new JPanel();
pnlVraag3 = new JPanel();
pnlVraag4 = new JPanel();
pnlVraag5 = new JPanel();
pnlVraag6 = new JPanel();
pnlPunten = new JPanel();
pnlVragen = new JPanel();
lblUitleg = new JLabel();
lblUitleg.setText("<html>QuizIT is een vragenreeks over Informaticabeeher. Er worden in totaal 6 vragen gesteld.<br> Om geslaagd te zijn, moet je 4/6 behalen. Succes!</html>");
btnStart = new JButton("Start de Quiz!");
// BackGround Color
pnlWelkom.setBackground(Color.BLUE);
pnlUitleg.setBackground(Color.YELLOW);
pnlPunten.setBackground(Color.WHITE);
// Components -> Panels
pnlUitleg.add(lblUitleg);
pnlWelkom.add(btnStart);
// Local. Panels
add(pnlUitleg, BorderLayout.NORTH);
add(pnlWelkom, BorderLayout.CENTER);
add(pnlPunten, BorderLayout.SOUTH);
}
}
}
添加frame.pack();你的代码是这样的:
frame = new JFrame();
frame.setSize(600,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("QuizIT | Knowledge is Power...");
frame.setVisible(true);
frame.setLayout(new BorderLayout());
frame.setContentPane(new Paneel());
frame.pack(); // NOTE HERE!
如果我 运行 我的应用程序,我必须再次最小化和最大化它才能看到任何东西。我想这是由于在我的标签中使用 HTML 代码引起的...知道如何解决这个问题吗?如果是,我该如何解决?
lblUitleg.setText("<html>QuizIT is een vragenreeks over Informaticabeeher. Er worden in totaal 6 vragen gesteld.<br> Om geslaagd te zijn, moet je 4/6 behalen. Succes!</html>");
我使用 HTML 在我的标签中换行。
最后应该是这样的……http://prntscr.com/5r55le
package quiz;
// Imp.
import java.awt.*;
import javax.swing.*;
public class Quiz {
// Decl. Frame
public static JFrame frame;
public static void main(String[] args) {
// Creat. Frame
frame = new JFrame();
frame.setSize(600,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("QuizIT | Knowledge is Power...");
frame.setVisible(true);
frame.setLayout(new BorderLayout());
frame.setContentPane(new Paneel());
}
public static class Paneel extends JPanel {
// Decl. Var.
public JPanel pnlWelkom, pnlUitleg, pnlVragen, pnlVraag1, pnlVraag2, pnlVraag3, pnlVraag4, pnlVraag5, pnlVraag6, pnlPunten;
public JLabel lblNaam, lblWelkom, lblUitleg, lblVraag1, lblVraag2, lblVraag3, lblVraag4, lblVraag5, lblVraag6;
public JButton btnStart, btnVraag1, btnVraag2, btnVraag3, btnVraag4, btnVraag5, btnVraag6;
public Paneel() {
setBackground(Color.RED);
setLayout(new BorderLayout());
// Init. Var.
pnlWelkom = new JPanel();
pnlUitleg = new JPanel();
pnlVraag1 = new JPanel();
pnlVraag2 = new JPanel();
pnlVraag3 = new JPanel();
pnlVraag4 = new JPanel();
pnlVraag5 = new JPanel();
pnlVraag6 = new JPanel();
pnlPunten = new JPanel();
pnlVragen = new JPanel();
lblUitleg = new JLabel();
lblUitleg.setText("<html>QuizIT is een vragenreeks over Informaticabeeher. Er worden in totaal 6 vragen gesteld.<br> Om geslaagd te zijn, moet je 4/6 behalen. Succes!</html>");
btnStart = new JButton("Start de Quiz!");
// BackGround Color
pnlWelkom.setBackground(Color.BLUE);
pnlUitleg.setBackground(Color.YELLOW);
pnlPunten.setBackground(Color.WHITE);
// Components -> Panels
pnlUitleg.add(lblUitleg);
pnlWelkom.add(btnStart);
// Local. Panels
add(pnlUitleg, BorderLayout.NORTH);
add(pnlWelkom, BorderLayout.CENTER);
add(pnlPunten, BorderLayout.SOUTH);
}
}
}
添加frame.pack();你的代码是这样的:
frame = new JFrame();
frame.setSize(600,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("QuizIT | Knowledge is Power...");
frame.setVisible(true);
frame.setLayout(new BorderLayout());
frame.setContentPane(new Paneel());
frame.pack(); // NOTE HERE!