我正忙着编写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
产生的吗?如果是这样,我该如何删除它?
答案 0 :(得分:6)
// 0, 0
等同于水平和垂直偏移,默认值为5.
JPanel panelMenu = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
应该排序!
答案 1 :(得分:3)
FlowLayout
控制间距,默认值为5
使用new FlowLayout(FlowLayout.LEFT, 0)
删除间距。