【问题标题】:How can I add padding to a jtextfield如何向 jtextfield 添加填充
【发布时间】:2012-02-06 05:42:08
【问题描述】:

如何向 jtextfield 添加一些填充? 我试过tf.setMargin(new Insets(5,5,5,5)); 没有任何效果。

【问题讨论】:

    标签: java swing user-interface padding jtextfield


    【解决方案1】:
    yourTextFeildVariable.setBorder(BorderFactory.createCompoundBorder(yourTextFeildVariable.getBorder(), BorderFactory.createEmptyBorder(0, 5, 0, 0)));
    

    这是 100% 的工作

    【讨论】:

      【解决方案2】:

      我知道这为时已晚,但实际上,如果您希望在 Java 中获得一致的外观和感觉,您应该编辑 UI,这样您创建的 每个 文本字段都不需要自己的特殊代码。因此,从上面 Russel Zahniser 的示例中获取:

      Border tfBorder = UIManager.getBorder("TextField.border");
      Border newBorder = BorderFactory.createCompoundBorder(tfBorder, 
              BorderFactory.createEmptyBorder(5, 5, 5, 5)));
      
      UIManager.setBorder("TextField.border", newBorder);
      

      【讨论】:

        【解决方案3】:

        您可以将其应用于已经创建的带有边框的文本框

        jTextField1.setBorder(BorderFactory.createCompoundBorder(jTextField1.getBorder(), BorderFactory.createEmptyBorder(6, 6, 6, 6)));
        

        【讨论】:

          【解决方案4】:

          最简单的方法是使用BorderFactory

          field.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
          

          【讨论】:

            【解决方案5】:

            您遇到的问题是 UI 在文本字段上设置了自己的边框,覆盖了您设置的边距。您可以在 setMargin() 的 javadoc 中看到有关此效果的警告。

            解决办法是让UI设置一个边框,然后挤进自己的另一个边框:

            field.setBorder(BorderFactory.createCompoundBorder(
                    field.getBorder(), 
                    BorderFactory.createEmptyBorder(5, 5, 5, 5)));
            

            【讨论】:

              【解决方案6】:

              你看看CompoundBorder,在那里你可以设置LineBorder(Color.gray, 1)

              EmptyBorder(5, 5, 5, 5)
              

              【讨论】:

                猜你喜欢
                • 2012-04-07
                • 2019-02-19
                • 1970-01-01
                • 1970-01-01
                • 2013-01-29
                • 2011-12-15
                • 2019-07-31
                • 1970-01-01
                • 2012-12-24
                相关资源
                最近更新 更多