1

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

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

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

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

我试过设置preferredSize,但没有运气。下面的代码...

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

1 回答 1

7

要将 JTextField 居中,将其放入自己的 JPanel 中,该 JPanel 使用默认的 FlowLayout 并使用容器添加(我认为)BorderLayout。为了给 JTextField 一个合适的宽度,在构造它时给它一个列大小。不要设置它的 preferredSize,因为它在不同的平台上表现不佳。IE,

rText = new JTextField("1000", 10);
于 2012-10-31T19:52:40.133 回答