10

如何防止 JLabel 与框架的一侧齐平显示?我在使用 GridLayout 或 BoxLayout 时遇到了同样的问题。

这是发生这种情况的示例:

JPanel content = new JPanel();
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));
content.add(new JLabel("Hello World"));

CSS 有边距和内边距的概念。Java有类似的吗?

我仍然希望左对齐,但边缘和标签之间有几个像素的空间。

4

2 回答 2

19

您可以为 设置一个空边框JLabel以将组件从左边缘移动几个像素:

label.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0));
于 2012-11-25T01:28:33.020 回答
1

对于居中的标签,试试这个:

content.add(new JLabel("Hello World", JLabel.CENTER));

如果您正在使用Box,您可以通过调用添加空格(在垂直框中):

content.add(Box.createVerticalStrut(height));
content.add(new JLabel("Hello World"));

或水平:

content.add(Box.createHorizontalStrut(width));
于 2012-11-25T01:23:11.687 回答