如何将文本集中在一个跨越两个网格的按钮的一个网格中?

问题描述 投票:0回答:1

我正在尝试重新创建Mac Calculator GUI。我为此项目使用Swing和GridBagLayout。我设法将0放到跨2列网格的按钮中,但我想将其放在第一列网格而不是2列网格的中心。

基本上,我希望按钮看起来像:

“

在计算器中,第一列网格(consists of button "AC", "1", "4", "7" and "0")的文本均匀居中。在这里,我尝试使用setHorizontalAlignment(SwingConstants.LEFT),但结果不是我想要的。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9rbjR2aC5wbmcifQ==” alt =“这里看起来如何”>

JButton bt

n_0 = new JButton("0");
btn_0.setHorizontalAlignment(SwingConstants.LEFT);
GridBagConstraints gbc_btn_0 = new GridBagConstraints();
gbc_btn_0.fill = GridBagConstraints.HORIZONTAL;
gbc_btn_0.gridwidth = 2;
gbc_btn_0.insets = new Insets(0, 0, 5, 5);
gbc_btn_0.gridx = 0;
gbc_btn_0.gridy = 5;
frame.getContentPane().add(btn_0, gbc_btn_0);

是否有可能实现这一目标,或者有其他替代方法?

java swing user-interface layout-manager gridbaglayout
1个回答
0
投票

我建议您使用:

mig_layout库。

允许您进行简单/适用的设计,就可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.