Java Swing:如何删除JPanel

时间:2016-01-08 09:08:00

标签: java swing jbutton spacing flowlayout

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

JPanel使用左对齐的FlowLayout

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

按钮是标准JButton s

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

我正常地将JButtons添加到面板

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产生的吗?如果是这样,我该如何删除它?

2 个答案:

答案 0 :(得分:6)

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

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

应该排序!

答案 1 :(得分:3)

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