简单的JFrame没有显示出来

时间:2016-09-11 06:25:17

标签: java swing jframe

我正在学习如何制作简单的JFrame,我做错了。我确定这是一个快速修复。如果有人能告诉我我做错的事情,我会非常感激。感谢。

哦......也......你能查看this并告诉我他们是否遵循良好做法? (除了他们的命名惯例,我很容易告诉他们很糟糕。)

我班级的代码:

FlowLayout flow = new FlowLayout();
JPanel pan;
JFrame fra;
JButton but = new JButton();
JLabel lab = new JLabel();

public MainScreen(){
    gui();
}


public void gui(){

    fra = new JFrame("ATR Utilities");
    fra.setVisible(true);
    fra.setSize(400, 600);
    fra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    pan = new JPanel(flow);
    pan.setBackground(Color.CYAN);

    but = new JButton("Test");
    lab = new JLabel("Test label");

    pan.add(but);
    pan.add(lab);



}

public static void main(String[] args){
    new MainScreen();
}

1 个答案:

答案 0 :(得分:3)

您没有将面板添加到相框中,并且应该在将其显示之前添加所有内容。

public void gui() {
    fra = new JFrame("ATR Utilities");
    fra.setSize(400, 600);
    fra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    pan = new JPanel(flow);
    pan.setBackground(Color.CYAN);

    but = new JButton("Test");
    lab = new JLabel("Test label");

    pan.add(but);
    pan.add(lab);
    fra.add(pan);
    fra.setVisible(true);
}