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));
按钮是标准的 JButton
s
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));
应该排序吧!
我正忙于为 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");
我正常将 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));
应该排序吧!