【发布时间】:2014-10-28 15:15:58
【问题描述】:
我正在尝试创建一个工具栏,它将位于我的 java swing 应用程序中所有页面的顶部。
我正在创建一个 JPanel,其中包含一系列单独的 JPanel(容器)。每个 JPanel(容器)都有一个南北组件,或者只是一个北组件,使用 GridLayout 设置。
我的问题是,我想在南北组件之间留一个小间隙,但我看不到怎么做,也无法在互联网上找到任何帮助。
以下是其中一个容器的代码的工作示例:
public static void CustomersGui(){
final JFrame frame = new JFrame("Nested Layout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel container1 = new JPanel();
container1.setLayout(new GridLayout(2,1));
JButton buttonDiary = new JButton("Diary");
buttonDiary.setPreferredSize(new Dimension(140, 25));
JButton buttonCars = new JButton("Cars");
buttonCars.setPreferredSize(new Dimension(140, 25));
container1.add(buttonDiary, BorderLayout.NORTH);
container1.add(buttonCars, BorderLayout.SOUTH);
frame.setContentPane(container1);
frame.pack();
frame.setVisible(true);
}
【问题讨论】:
-
请注意,
GridLayout有一个构造函数,它还允许您指定“hgap”和“vgap”:组件之间的水平和垂直间隙大小。或者,将BorderFactory.createEmptyBorder(1,2,3,4)分配给 inner 组件是添加空格的一种可能方式(但只有在没有适当的布局选项来实现所需目标时才应使用) -
请查看providing whitespace, in a Swing GUI。希望这会有所帮助:-)
-
此外,您可以将Border 与任何 Swing 组件一起使用 :-)
标签: java swing user-interface gridbaglayout jtoolbar