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

The*_*age 2 java swing jbutton spacing flowlayout

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

JPanel使用FlowLayout是左对齐.

JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT));
Run Code Online (Sandbox Code Playgroud)

按钮是标准JButton

JButton buttOne = new JButton("One");
JButton buttTwo = new JButton("Two");
Run Code Online (Sandbox Code Playgroud)

我正常地将JButtons添加到面板中

add(panelMenu, BorderLayout.NORTH);
panelMenu.add(buttOne);
panelMenu.add(buttTwo);
Run Code Online (Sandbox Code Playgroud)

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

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

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));
Run Code Online (Sandbox Code Playgroud)

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

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

Gor*_*les 7

// 0, 0 等于水平和垂直偏移,默认值为5.

JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
Run Code Online (Sandbox Code Playgroud)

应该排序!