Java GUI指定textField的宽度

Jam*_*zio 1 java user-interface swing jtextfield

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

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

===============================================================================
|                                                                             |
|                                NORTH                                        |
===============================================================================
|    WEST     |                  CENTER                                       |
|             | textField: __________________________________________________ |
Run Code Online (Sandbox Code Playgroud)

我想这样做,所以textField不扩展整个布局,但具有固定的大小,并在中心组件中居中.

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

  rText = new JTextField("1000"); 
  rText.setPreferredSize(new Dimension(20, 10)); 
Run Code Online (Sandbox Code Playgroud)

Hov*_*els 7

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

rText = new JTextField("1000", 10);
Run Code Online (Sandbox Code Playgroud)