gpt4 book ai didi

java - 如何使面板中的按钮居中

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:49 24 4
gpt4 key购买 nike

虽然我使用的是 BorderLayout.CENTER,但我的按钮组似乎仍然与面板的北部对齐。如果我使用 BorderLayout.SOUTH,它们的相对位置与 BorderLayout.CENTER 相同,但在面板的南边。

如何让它们位于面板中间?

我所做的事情有明显错误吗?

public void createExecuteArea() {

JButton connectButton = new JButton("Connect");
connectButton.setPreferredSize(new Dimension(100, 40));
JButton disconnectButton = new JButton("Disconnect");
disconnectButton.setPreferredSize(new Dimension(100, 40));
JButton abortButton = new JButton("Abort");
abortButton.setPreferredSize(new Dimension(100, 40));

executePanel = new JPanel();
executePanel.setLayout(new BorderLayout());

JPanel buttonPanel = new JPanel();

buttonPanel.add(connectButton);
buttonPanel.add(disconnectButton);
buttonPanel.add(abortButton);

executePanel.add(buttonPanel, BorderLayout.CENTER);
}

对我的代码进行以下更改解决了我的问题。

public void createExecuteArea() {

JButton connectButton = new JButton("Connect");
connectButton.setPreferredSize(new Dimension(100, 40));
JButton disconnectButton = new JButton("Disconnect");
disconnectButton.setPreferredSize(new Dimension(100, 40));
JButton abortButton = new JButton("Abort");
abortButton.setPreferredSize(new Dimension(100, 40));

executePanel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();

JPanel buttonPanel = new JPanel();

buttonPanel.add(connectButton);
buttonPanel.add(disconnectButton);
buttonPanel.add(abortButton);

executePanel.add(buttonPanel, c);
}

最佳答案

问题在于executePanel 及其使用的布局。您没有给它明确的布局,因此它默认使用 BorderLayout。如果您想在此 JPanel 中居中放置按钮,请考虑使用不同的布局,也许是 GridBagLayout。

如需更具体的帮助,请考虑创建并发布 minimal example program .

关于java - 如何使面板中的按钮居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24709232/

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