如何仅为FlowLayout的一部分设置水平间隙?

Gra*_*min 2 java swing flowlayout

我有一个带有三个按钮的流布局,在第一个和第二个按钮之间,我希望水平间隙为30;在第二个和第三个按钮之间,我希望水平间隙为10。

Jpanel panel = new JPanel(new FlowLayout());
JButton button1 = new Button("1");
JButton button2 = new Button("2");
JButton button3 = new Button("3");

panel.add(button1);
((FlowLayout)panel.getLayout()).setHgap(30);
panel.add(button2);
((FlowLayout)panel.getLayout()).setHgap(10);
panel.add(button3);
Run Code Online (Sandbox Code Playgroud)

但这会将所有水平差距更改为10。

任何想法将不胜感激,谢谢。

小智 6

尝试使用Box.createHorizo​​ntalStrut

panel.add(button1);
panel.add(Box.createHorizontalStrut(30));
panel.add(button2);
Box.createHorizontalStrut(10);
panel.add(button3);
Run Code Online (Sandbox Code Playgroud)