java - JPanel 未显示在另一个 JPanel 内

标签 java swing jpanel layout-manager

class ABC extends JFrame {
    public JPanel createGUI()
    {
        JPanel outerPanel = new JPanel();
        outerPanel.setLayout(null);

        JLabel top = new JLabel();
        top.setBounds(40,40,400,30);
        top.setText("Hello World");
        outerPanel.add(top);

        int l = getLength();
        JPanel innerPanel = new JPanel();
        if(l==0)
        {
            innerPanel.setLayout(null);
            JLabel empty = new JLabel("No Data Found");
            empty.setBounds(80,150,300,30);
            innerPanel.add(empty);
        }
        else
        {
            innerPanel.setLayout(new GridLayout(l,4,5,5)); 
            for(int i=0;i<l;i++)
            {
                innerPanel.add(new JLabel("Text1");
                innerPanel.add(new JLabel("Text2");

                JButton b1 = new JButton("Button1");
                innerPanel.add(b1);
                JButton b2 = new JButton("Button2");
                innerPanel.add(b2);
            }          
         }
         outerPanel.add(innerPanel);
         return outerPanel;
    }
}

在上面的代码中,innerPanel没有显示,也没有发生任何错误。知道如何显示位于outerPanel内部的innerPanel。我尝试使用 getContentPane().add(innerPanel) 但没有成功。

最佳答案

尝试改变

outerPanel.setLayout(null);

outerPanel.setLayout(new FlowLayout());

或完全删除 setLayout 调用。

关于java - JPanel 未显示在另一个 JPanel 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234509/

相关文章:

java - 计算 JMS 队列中的消息数

java - 对一组 jButton 实现 ActionListener 时出现问题

java - 为什么我的 Jpanel borderlayout 没有按预期工作?

java - 将 JLabel 添加到使用 BoxLayout 的 JFrame

java - 创建具有偏移重叠的多个 JFrame

java - 在绘画层上将 JTextfield 添加到 JPanel

java - 如何生成随机数学运算符? ( eclipse )

java - Hbox 有子 Buttons ,如何抓取它们并为其添加监听器?

java - 连接 kinesis 生产者 AWS kinesis 443 时出错

java - 在 OSX : How to Trap command-Q? 上 Swing