gpt4 book ai didi

java - 在基于 JPanel 的行中按钮的位置 'menu bar'

转载 作者:行者123 更新时间:2023-12-02 03:52:22 26 4
gpt4 key购买 nike

我正在尝试 Swing 编程,但无法做我想做的事。

我想放置一个带有 2 行按钮的顶部栏按钮,但我的情况下只有 1 行。

这是我的代码:

    Container contentPane = getContentPane(); 
contentPane.setLayout(new BorderLayout());
setMinimumSize(new Dimension(1000,500));
setMaximumSize(new Dimension(1000,500));

JPanel panelButton = new JPanel();
JPanel panelTopButton = new JPanel();
JPanel panelBottomButton = new JPanel();

panelTopButton.add(dashboard);
panelTopButton.add(journal);
panelTopButton.add(myPlans);
panelTopButton.add(myFavorites);
panelTopButton.add(shoppingCart);

panelBottomButton.add(profile);
panelBottomButton.add(notifications);

panelButton.add(panelTopButton, BorderLayout.NORTH);
panelButton.add(panelBottomButton, BorderLayout.SOUTH);


contentPane.add(panelButton,BorderLayout.NORTH);

//Display
setSize(400,120);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

I have this

enter image description here

I want this

enter image description here

有人可以帮助我吗?

最佳答案

每一行都需要一个面板。

尝试这样做:

JPanel panelButtonsL1 = new JPanel();
JPanel panelButtonsL2 = new JPanel();

panelButtonsL1.add(dashboard);
panelButtonsL1.add(journal);
panelButtonsL1.add(myPlans);
panelButtonsL1.add(myFavorites);
panelButtonsL1.add(shoppingCart);

panelButtonsL2.add(profile);
panelButtonsL2.add(notifications);

JPanel的默认布局是FlowLayout。请记住,布局对于使用 Swing 组件配置非常重要。

将底部面板定义为GridLayout

JPanel panelButton = new JPanel(new GridLayout(2, 1)); // 2 rows x 1 column
panelButton.add(panelButtonsL1);
panelButton.add(panelButtonsL2);

GridLayout的详细信息可以在API.上找到

关于java - 在基于 JPanel 的行中按钮的位置 'menu bar',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774118/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com