作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试练习我的 GUI,但在组件和框架之间放置间隙时遇到了麻烦。
上面的图片是我目前所拥有的。但我真的想在框架左侧和“label1”之间留出一个间隙。
private void initialize() {
frame = new JFrame();
frame.setTitle("WINDOW");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 300);
panel = new JPanel();
panel.setLayout(new BorderLayout());
bottomPanel = new JPanel();
bottomPanel.setLayout(new GridLayout(1, 5));
l1 = new JLabel("Label1");
l2 = new JLabel("Label2");
l3 = new JLabel("Label3");
l4 = new JLabel("Label4");
l5 = new JLabel("Label5");
bottomPanel.add(l1);
bottomPanel.add(l2);
bottomPanel.add(l3);
bottomPanel.add(l4);
bottomPanel.add(l5);
panel.add(bottomPanel, BorderLayout.SOUTH);
frame.add(panel);
}
以上是我的代码的一部分。我尝试这样做: BottomPanel.setLayout(new GridLayout(1, 5, -20, 0));放置一些水平间隙,但这只会增加组件之间的间隙。这根本没有将“label1”移离框架。还有其他方法可以做到这一点吗?我对 Java 很陌生,所以我不太了解其他技巧。我将不胜感激任何帮助!谢谢!
最佳答案
其他答案都是胡说八道,在调整 GUI 大小时不会达到预期的效果。而是使用:
JLabel.setHorizontalAlignment(SwingConstants.CENTER);
通过将 JLabel
中的文本居中,并结合 GridLayout
将组件拉伸(stretch)到单元格的整个宽度,每个标签两侧的空间将与GUI可以允许。例如。这是 GUI 尺寸最小时的效果。
当拉宽时:
(添加红色边框以显示每个标签的边界。)
关于java - 框架和组件之间如何留有间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60624660/
我是一名优秀的程序员,十分优秀!