Java GUI指定textField的宽度

时间:2012-10-31 19:50:06

标签: java swing user-interface jtextfield

我有一个BorderLayout,其中包含North,West和Center组件中的布局。这是我的问题:我的Center组件中有一个textField,它扩展了它的父布局的整个宽度。

它看起来像这样......

===============================================================================
|                                                                             |
|                                NORTH                                        |
===============================================================================
|    WEST     |                  CENTER                                       |
|             | textField: __________________________________________________ |

我想这样做,因此textField不会扩展整个布局,但具有固定的大小,并且在中心组件中居中。

我尝试过设置preferredSize但没有运气。代码如下......

  rText = new JTextField("1000"); 
  rText.setPreferredSize(new Dimension(20, 10)); 

1 个答案:

答案 0 :(得分:7)

要使JTextField居中,将其放入自己的JPanel中,该JPanel使用默认的FlowLayout并使用容器添加(我认为)BorderLayout。要为JTextField提供良好的宽度,请在构造时为其指定列大小。 不要设置其preferredSize,因为它在不同平台上的表现不佳。即,

rText = new JTextField("1000", 10);