我有一个有三个按钮的流式布局,第一个和第二个按钮之间的水平间隙是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);
但这会将所有的水平间距更改为10。
任何想法都将不胜感激,谢谢。
发布于 2011-06-28 22:21:13
向第二个按钮添加一个EmptyBorder
,在第二个参数(left
)中添加额外的像素:
button2.setBorder(new EmptyBorder(0, 20, 0, 0));
发布于 2011-06-29 02:30:54
尝试使用Box.createHorizontalStrut
panel.add(button1);
panel.add(Box.createHorizontalStrut(30));
panel.add(button2);
Box.createHorizontalStrut(10);
panel.add(button3);
发布于 2011-06-28 22:07:43
你可以试试MigLayout:
Jpanel panel = new JPanel(new MigLayout());
panel.add(new Button("1"), "gap right 30");
panel.add(new Button("2"), "gap right 10");
panel.add(new Button("3"));
https://stackoverflow.com/questions/6507695
复制相似问题