JButton 中的图标位置

Icon position in JButton

是否可以更改 JButton 中的图标图像位置?

这是现在的样子:

我想把图标移到更左边。

我已经尝试更改文本对齐方式,但它无法正常工作:

myButton.setHorizontalTextPosition(SwingConstants.RIGHT);

看看 JButton.setHorizontalAlignment(int align)

Sets the horizontal alignment of the icon and text. AbstractButton's default is SwingConstants.CENTER, but subclasses such as JCheckBox may use a different default.

您可以设置:

  • SwingConstants.RIGHT
  • SwingConstants.LEFT
  • SwingConstants.CENTER
  • SwingConstants.LEADING
  • SwingConstants.TRAILING

您可以使用 setIconTextGap(int). In addition, aligning the contents of the JButton towards the left may help with setHorizontalAlignment(SwingConstants.LEFT) 更改图标和文本之间 space 的间距。

解决方案

我向 myButton 添加了一个空边框(您可以添加任何类型的边框),现在它看起来像这样:

代码:

myButton.setBorder(BorderFactory.createEmptyBorder(4, 4, 2, 20));