增加图标和按钮之间的间距 java

Increase gap between icon and button java

我正在 java 中执行一个程序,其中您必须 select 一个带有按钮的类别。

我试图在 JButton 中放置一个图标和文本,但我无法完全正确对齐。我想要在按钮左侧和图标之间的左侧有一个更宽的 space。

我听说你可以创建一个不可见的线条边框来解决这个问题,但我的 JButton 已经有了边框。

choose_Animals = new JButton ("ANIMALS");
    choose_Animals.setIcon(categoriesIcon[0]);
    choose_Animals.setHorizontalAlignment(SwingConstants.LEFT);
    choose_Animals.setIconTextGap(20);
    choose_Animals.setOpaque(false);
    choose_Animals.setContentAreaFilled(false);
    choose_Animals.setForeground(Color.BLACK);
    choose_Animals.setBorder(border);
    choose_Animals.setFocusable(false);
    choose_Animals.setFont(p);
    choose_Animals.setBounds(90, 220,470, 85);
    choose_Animals.addActionListener(this);
    this.add(choose_Animals);

Do you know if what I ask for is possible with a null layout?

定位按钮的 text/icon 与布局管理器无关。这些是组件本身的属性。

是的,您应该使用布局管理器,而不是空布局。学习使用布局管理器的时间是现在,而不是将来的某个时间。

I have read that you can create an invisible line border to solve this,

您可以使用 EmptyBorder 为 4 个插入位置之一添加 space。

but my JButton already has a border.

您可以使用 CompoundBorder 将您当前的边框与 EmptyBorder

相结合

阅读有关 How to use Borders 的 Swing 教程部分,了解更多信息和示例。