如果未设置边界,则JLabel不会显示在JPanel中

时间:2017-09-11 12:42:34

标签: java swing

我有以下代码:

public JPanel getPanel() {
    if(jpanel == null) {

        jpanel = new JPanel();
        jpanel.setLayout(new FlowLayout());
        jpanel.setBounds(x, y, width, height);
        jpanel.setBackground(Color.WHITE);

        JLabel tituloLbl = new JLabel(titulo);
        JLabel cantidadLbl = new JLabel(""+cantidad);
        JLabel abejasLbl = new JLabel("Abejas");

        //tituloLbl.setBounds(0, 0, 50, 15);

        jpanel.add(tituloLbl);          
        jpanel.add(cantidadLbl);
        jpanel.add(abejasLbl);      


    }
    return jpanel;
}

面板应该看起来像一个带有3个标签的小白框,但是,除非我设置边界,否则标签不会显示。为什么会这样?如果我正在设置FlowLayout,则应自动定位标签。

这是小组显示的方式:

Image

1 个答案:

答案 0 :(得分:0)

解决了这个问题,我不得不在我的主框架上调用panel.validate()来显示它们。