1

North、West、および Center コンポーネントにレイアウトを持つ BorderLayout があります。ここに私の問題があります: センター コンポーネントに textField があり、親レイアウトの幅全体を拡張します。

なんかこんな感じ…

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

textField がレイアウト全体を拡張するのではなく、固定サイズであり、中央コンポーネント内の中央に配置されるようにしたいと考えています。

preferredSize を設定しようとしましたが、うまくいきませんでした。以下のコード...

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

1 に答える 1

7

JTextFieldを中央に配置するには、デフォルトのFlowLayoutを使用する独自のJPanelに配置し、コンテナを使用して(私が思うに)BorderLayoutを実行するように追加します。JTextField に適切な幅を与えるには、作成時に列サイズを指定します。異なるプラットフォームでは適切に動作しないため、preferredSize を設定しないでください。つまり、

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