Java Swing:如何删除 JPanel 中 JButton 的默认间距

Java Swing: How to remove the default-spacing for JButtons in a JPanel

我正忙于为 Java Swing 应用程序编写按钮菜单,我想知道是否可以删除添加到 JPanel 的 JButton 之间的填充。

JPanel 使用左对齐的 FlowLayout

JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT));

按钮是标准的 JButtons

JButton buttOne = new JButton("One");
JButton buttTwo = new JButton("Two");

我正常将 JButton 添加到面板

add(panelMenu, BorderLayout.NORTH);
panelMenu.add(buttOne);
panelMenu.add(buttTwo);

一切都按预期工作,但我需要做什么才能删除按钮之间的默认间距?

我在网上找到了一个建议的解决方案如下

buttOne.setBorder(null);
buttOne.setBorderPainted(false);
buttOne.setMargin(new Insets(0,0,0,0));

buttTwo.setBorder(null);
buttTwo.setBorderPainted(false);
buttTwo.setMargin(new Insets(0,0,0,0));

然而,这似乎删除了按钮内部的间距,而不是每个按钮之间的间距。

这个间距是由FlowLayout产生的吗?如果是这样,我该如何删除它?

FlowLayout控制间距,默认为5。
使用 new FlowLayout(FlowLayout.LEFT, 0) 删除间距。

// 0, 0相当于水平和垂直偏移,默认为5。

JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));

应该排序吧!