我有一个JLabel(实际上,它是一个JXLabel)。
我在上面放了一个图标和文字。
<icon><text>
现在我想在组件的左侧添加一些间距,如下所示:
<space><icon><text>
我不接受通过修改图像来移动JLabel或添加间距的建议。
我只想知道如何使用普通的java代码。
答案 0 :(得分:13)
我找到了解决方案!
setBorder(new EmptyBorder(0,10,0,0));
谢谢大家!
答案 1 :(得分:4)
像这样:不是很清楚,但你可以通过在标签上添加一定宽度的透明边框来添加间距
答案 2 :(得分: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());
虽然你的问题不是很清楚。
答案 3 :(得分:1)
您不需要修改JLabel的preferredSize,您可以使用GridBagLayout管理器指定组件之间的分隔,您只需要在容器中使用GridBagLayout并使用{{添加JXLabel到它3}}对象指定左边的插图:
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);
请注意,我在约束的设置中省略了很多配置属性,您最好阅读GridBagConstraints的文档内容