6

我有一个 JLabel(实际上,它是一个 JXLabel)。

我在上面放了一个图标和文字。

<icon><text>

现在我想在组件的左侧添加一些间距,如下所示:

<space><icon><text>

我不接受通过修改图像来移动 JLabel 或添加间距的建议。

我只想知道如何使用纯 java 代码来做到这一点。

4

4 回答 4

13

我找到了解决方案!

setBorder(new EmptyBorder(0,10,0,0));

谢谢大家!

于 2008-10-01T10:39:32.803 回答
4

像这样:不是很清楚,但是可以通过给标签加一定宽度的透明边框来增加间距

于 2008-10-01T10:22:47.117 回答
2

如果您试图将标签推到其容器的一侧,您可以添加胶水。像这样的东西:

JPanel panel = new JPanel();
panel.setLayoutManager(new BoxLayout(panel, BoxLayout.LINE_AXIS);

panel.add(new JLabel("this is your label with it's image and text"));

panel.add(Box.createHorizontalGlue());

虽然你的问题不是很清楚。

于 2008-10-01T10:29:12.127 回答
1

您不需要修改 JLabel 的 preferredSize,您可以使用GridBagLayout管理器来指定组件之间的分隔,您只需使用容器中的 GridBagLayout 并使用GridBagConstraints对象将 JXLabel 添加到其中指定左侧的插图:

JPanel panel=new JPanel(new GridBagLayout());
JLabel label=new JLabel("xxxxx");

GridBagConstraints constraints=new GridBagConstraints();

constraints.insest.left=X; // X= number of pixels of separation from the left component

panel.add(label,constraints);

请注意,我在约束的设置中省略了很多配置属性,您最好阅读GridBagLayout的文档

于 2008-10-01T10:35:18.243 回答