将JButton图标对齐到左侧并使文本居中

时间:2017-02-10 21:51:47

标签: java swing jbutton

我想设置一个JButton,使它的图标与其左边对齐,而文本居中。

我已经找到了如何将其中一个留在另一个,或者两个都在同一设置,但我找不到我要找的东西。

当然,我总是可以重新定义 paint 方法,但我正在寻找一种更精简的方法来实现它。

1 个答案:

答案 0 :(得分:5)

您可以向JButton添加layout manager,例如Border Layout会有所帮助:

您使用JLabel创建Icon,使用文字&#34创建一个;点击我":

JLabel iconLabel = new JLabel(new ImageIcon(this.getClass().getResource("king.png")));
JLabel clickMe = new JLabel("Click me", SwingConstants.CENTER); //We give it the center alignment so it stays on the center of the label.

然后你创建你的JButton,给它边框布局,并在你想要的位置添加你的组件。

button.setLayout(new BorderLayout());
button.add(iconLabel, BorderLayout.WEST);
button.add(clickMe, BorderLayout.CENTER);

我为每个标签添加了边框,因此您可以看到每个标签的外观,因为clickMe标签不会位于JButton的中心,而是位于其中心JLabel

enter image description here enter image description here

我认为这不是什么大不了的事,因为它几乎察觉不到边界

enter image description here