java - JButtons 仅在 BorderLayout.CENTER 中出现在 JFrame 上,而不是在 SOUTH 或 NORTH 中

标签 java button user-interface

所以我正在尝试创建一个图形用户界面,我之前在 Java 中修改过图形用户界面,但我对它们仍然是新手。所以我在这里发布的是我的 JLabel(butLabel 和 cbLabel)充满了按钮和复选框。遗憾的是,我的 JFrame 将只显示设置为 BorderLayout.CENTER 的那个。 NORTH & SOUTH 永远不会显示,即使我只将 butLabel 设置为 SOUTH,甚至不使用 cbLabel。我在看什么??非常感谢,谢谢!

public class mainWindow
{
    JFrame frame = new JFrame("Main Window");

    JLabel butLabel = new JLabel();
    JLabel cbLabel = new JLabel();

    JButton showBut = new JButton("Show");
    JButton exitBut = new JButton("Exit");
    JButton addBut = new JButton("Add");
    JButton remBut = new JButton("Remove");

    JCheckBox aCB = new JCheckBox("Airplane");
    JCheckBox bCB = new JCheckBox("Boat");
    JCheckBox cCB = new JCheckBox("Clock");


    public mainWindow()
    {
        frame.setLayout(new BorderLayout()); //I know this is set by default to BorderLayout but I just did it when I was out of options to try.
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setMinimumSize(new Dimension(360, 480));


        butLabel.setLayout(new GridLayout(1,4));
        cbLabel.setLayout(new GridLayout(2, 2));

        butLabel.add(showBut);
        butLabel.add(exitBut);
        butLabel.add(addBut);
        butLabel.add(remBut);

        cbLabel.add(aCB);
        cbLabel.add(bCB);
        cbLabel.add(cCB);

        frame.add(butLabel, BorderLayout.CENTER);
        frame.add(cbLabel, BorderLayout.NORTH);
    }
    public void setVisible()
    {
        butLabel.setVisible(true);//Didn't think I needed butLabel.setVisible or the cbLabel.setVisible but
        cbLabel.setVisible(true);//again I was trying things that I thought might make sense.

        frame.setVisible(true);
    }
}

最佳答案

不要使用 Label 对元素进行分组,而是使用 JPanel 我试过全部替换

Label

Panel

有效

关于java - JButtons 仅在 BorderLayout.CENTER 中出现在 JFrame 上,而不是在 SOUTH 或 NORTH 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26454324/

相关文章:

java - Android 应用程序无法看到通过 JSP 创建的数据存储实体

javascript - 使用解析代码将图像/文件保存到解析云中

PHP 删除产品/ID

javascript - EditableGrid 无法加载内联 json 数据

html - Div 进度条方向

java - Webview加载url但在默认浏览器中打开内容?

java - OOM 使用 CRON 但不使用 SHELL

javascript - jquery制作放大缩小文字的按钮

html - 按钮 HTML/CSS 后面的水平线

java - 在 Java GUI 中使用 Python