首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何仅为FlowLayout的一部分设置水平间距?

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

Stack Overflow用户
提问于 2011-06-28 22:02:53
回答 4查看 14K关注 0票数 2

我有一个有三个按钮的流式布局,第一个和第二个按钮之间的水平间隙是30,第二个和第三个按钮之间的水平间隙是10。我试过这个:

代码语言:javascript
运行
复制
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。

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-28 22:21:13

向第二个按钮添加一个EmptyBorder,在第二个参数(left)中添加额外的像素:

代码语言:javascript
运行
复制
button2.setBorder(new EmptyBorder(0, 20, 0, 0));
票数 4
EN

Stack Overflow用户

发布于 2011-06-29 02:30:54

尝试使用Box.createHorizontalStrut

代码语言:javascript
运行
复制
panel.add(button1);
panel.add(Box.createHorizontalStrut(30));
panel.add(button2);
Box.createHorizontalStrut(10);
panel.add(button3);
票数 8
EN

Stack Overflow用户

发布于 2011-06-28 22:07:43

你可以试试MigLayout:

代码语言:javascript
运行
复制
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"));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6507695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档