Java JLabel没有出现

时间:2015-10-22 18:06:13

标签: java jlabel

JLabel没有出现! buttons()仅在我点击frame时显示。是否可以在不点击的情况下显示它?

public frame() {
    frame.setTitle("MyWindowTitle");
    frame.setSize(width, height);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setResizable(true);
    // frame.setLayout(new FlowLayout());
    frame.setLayout(null);
    frame.getContentPane().setBackground(Color.RED);
    frame.pack();
    frame.setVisible(true);
    JPanel panel = new JPanel();
    frame.add(panel);
    panel.setLocation(150, 150);
    panel.add(new JButton("Hello!"));
    scorel = new JLabel("Score: " + score);
    frame.add(scorel);

    buttons();
}

1 个答案:

答案 0 :(得分:0)

 //frame.pack(); //Dont call pack() if you use null layout
 frame.setVisible(true);

是您方法的最后一个陈述。 在setSize()中使用panel时,还要使用null layout frame。如果没有setSizesetLocationsetBounds,则您的内容无法在null layout中正确显示。

panel.setSize(400, 300);

scorel.setSize(width, height);
scorel.setLocation(x, y);

良好做法

  1. 尽量避免空布局

    要了解布局,请参阅https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

  2. 修复变量和类名称样式。 了解命名约定http://www.oracle.com/technetwork/java/codeconventions-135099.html