gpt4 book ai didi

java - 如何使用 BorderLayout 将两个 JButton 定位在 PAGE_END 而不会重叠?

转载 作者:行者123 更新时间:2023-11-29 07:55:31 26 4
gpt4 key购买 nike

所以我希望按钮 Select 位于按钮 Back 之上,我不希望它们相互重叠。但是当我将它们都设置为 PAGE_END 时,它们会重叠。我该如何解决这个问题?

这是问题的代码:

public void methodName() {
JPanel controls = new JPanel(new BorderLayout(5,5));
final CardLayout cl = new CardLayout();
final JPanel panel = new JPanel(cl);
controls.add(panel);
this.getContentPane().setLayout(new FlowLayout(FlowLayout.LEADING));
list = new JList<Object>(objectName);
list.setVisibleRowCount(7);
select = new JButton("Select");
back = new JButton("Back");
select.addActionListener(this);
controls.add(new JScrollPane(list));
controls.add(select, BorderLayout.PAGE_END);
controls.add(back, BorderLayout.PAGE_END);
controls.setBorder(new EmptyBorder(25,25,0,0));
add(controls);
refreshFrame();
}

这是同时添加但重叠时的样子:

The problem (Overlapping)

这是我想要的样子:

This is what it should look like

有什么想法吗?

提前致谢!

最佳答案

像这样使用 GridLayout 将 2 个 JButtons 放在新的 JPanel

JPanel basePanel = new JPanel(new GridLayout(0, 1, 0, 3));
basePanel.add(select);
basePanel.add(back);
controls.add(basePanel, BorderLayout.PAGE_END);

GridLayout 可以在其 constructor 中提供按钮之间的垂直间隙如您的问题所示

关于java - 如何使用 BorderLayout 将两个 JButton 定位在 PAGE_END 而不会重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18036727/

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