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!