【问题标题】:How to add a horizontal gap with a JLabel如何使用 JLabel 添加水平间隙
【发布时间】:2008-10-01 10:17:20
【问题描述】:

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

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

<icon><text>

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

<space><icon><text>

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

我只是想知道如何用纯 java 代码来做。

【问题讨论】:

    标签: java swing jlabel swingx


    【解决方案1】:

    我找到了解决办法!

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

    谢谢大家!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        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());
        

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

        【讨论】:

          【解决方案4】:

          你不需要修改JLabel的preferredSize,你可以使用GridBagLayoutManager来指定组件之间的分隔,你只需要使用容器中的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的文档

          【讨论】:

            猜你喜欢
            • 2018-08-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多