繁体   English   中英

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

[英]JLabels not showing in JPanel if bounds not set

我有以下代码:

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,则标签应自动放置。

这是面板显示的方式:

图片

解决了这个问题,我必须在主框架上调用panel.validate()才能显示它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM