簡體   English   中英

將面板添加到JFrame

[英]Adding a panel to a JFrame

代碼中沒有錯誤,但我似乎無法在窗口中看到Jlabels。 我不確定是否添加了面板或是否將jlabel添加到了面板。

public class JDemoResistance extends JFrame{

    private final JButton button1;
    private JPanel panel;
    private final int WINDOW_WIDTH = 320;
    private final int WINDOW_HEIGHT = 320;

    public JDemoResistance() {
        super("JDemoResistance");

        setSize(WINDOW_WIDTH, WINDOW_HEIGHT);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //JLabels Configs
        JLabel label1 = new JLabel("Too expensive");
        JLabel label2 = new JLabel("Bad reviews");
        JLabel label3 = new JLabel("Bad quality");
        JLabel label4 = new JLabel("Not worth it");
        JLabel label5 = new JLabel("Dosent work");

        //Button Configs
        button1 = new JButton("Button");
        button1.addActionListener(new ButtonListener());

        //Panel Configs
        panel = new JPanel();
        panel.add(label1);
        panel.add(label2);
        panel.add(label3);
        panel.add(label4);
        panel.add(label5);
        panel.add(button1);
        setVisible(true);
    }

      private class ButtonListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e){

        }
    }      

    public static void main(String[] args) {
        JDemoResistance jdr = new JDemoResistance();

    }


}

您尚未將面板添加到框架,這就是為什么看不到任何組件的原因。 在將JFrame設置為可見之前添加它。

 //Add the panel to the frame
 this.add(panel)
 setVisible(true);

您還必須將面板添加到JFrame

panel.add(...);
add(panel); // <-- you forgot this
setVisible(true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM