我有一个BorderLayout,其中包含North,West和Center组件中的布局。这是我的问题:我的Center组件中有一个textField,它扩展了它的父布局的整个宽度。
它看起来像这样......
===============================================================================
| |
| NORTH |
===============================================================================
| WEST | CENTER |
| | textField: __________________________________________________ |
我想这样做,因此textField不会扩展整个布局,但具有固定的大小,并且在中心组件中居中。
我尝试过设置preferredSize但没有运气。代码如下......
rText = new JTextField("1000");
rText.setPreferredSize(new Dimension(20, 10));
答案 0 :(得分:7)
要使JTextField居中,将其放入自己的JPanel中,该JPanel使用默认的FlowLayout并使用容器添加(我认为)BorderLayout。要为JTextField提供良好的宽度,请在构造时为其指定列大小。 不要设置其preferredSize,因为它在不同平台上的表现不佳。即,
rText = new JTextField("1000", 10);