如何在面板中设置组件的位置。
JComboBox startDate = new JComboBox();
startDate.setPreferredSize(new Dimension(80,25));
jPanelStartDate.add(startDate);
jPanelStartDate.setLayout(new GridLayout(0, 3, 10, 10));
jPanelStartDate.revalidate();
答案 0 :(得分:0)
好的,你有多个选项。您可以将BoxLayout与Y_Axis和rigid area一起使用,也可以使用更高级,复杂且动态的GridBagLayout。以下是BoxLayout和刚性区域的示例。
JFrame frame = new JFrame("Test");
JPanel panel = new JPanel();
BoxLayout boxLayout = new BoxLayout(panel, BoxLayout.Y_AXIS);
panel.setLayout(boxLayout);
for(int index = 0; index < 5; ++index){
JComboBox<String> box = new JComboBox<>(new String[]{"a", "b", "c"});
box.setMaximumSize(new Dimension(50, 50));
box.setMinimumSize(new Dimension(50, 50));
panel.add(box);
panel.add(Box.createRigidArea(new Dimension(10, 10)));
}
frame.setContentPane(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(new Dimension(300, 300));
frame.setVisible(true);
您可以根据需要更改尺寸,特别是刚性区域的尺寸,以调整组件的空间和尺寸。