1

JTextField の幅を画面サイズの 50% などに設定する方法があるかどうか疑問に思っていました。画面の寸法を取得する方法を知っています JTextField は、ピクセルではなく文字数に設定します

textfield = new JTextField("こんにちは", 20);

これを行う方法はありますか?

4

2 に答える 2

2

のサイズをJTextFieldピクセル単位で設定すると、一般的には推奨されない絶対配置を使用する道をたどります。レイアウトマネージャーなしでやるより

レイアウト マネージャーがなくても実行できますが、可能であればレイアウト マネージャーを使用する必要があります。レイアウト マネージャーは、他のコンテナーや他のプログラムでも簡単に再利用できます。

既存のレイアウト マネージャーが提供する機能を確認し、 setXXXSize()コンポーネント メソッドの使用を避けてください。たとえば、GridLayout(またはGridBagLayout) を使用して、JTextField幅をフレーム クライアント領域の 50% にサイズ変更できます。

于 2012-12-12T21:39:13.190 に答える
-1

setSize() メソッドを使用して JTextField コンポーネントのサイズを設定できます。

public void setSize(int width,
                    int height)

幅 width と高さ height になるように、このコンポーネントのサイズを変更します。パラメータ: width - このコンポーネントの新しい幅 (ピクセル単位) height - このコンポーネントの新しい高さ (ピクセル単位)

Javadoc: http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#setSize(int , int)

編集: GridLayout に追加されたコンポーネントは、追加された最大のコンポーネントと同じサイズにサイズ変更されます。コンポーネントを適切なサイズのままにしたい場合は、そのコンポーネントを JPanel でラップすると、パネルのサイズが変更されます。

setPreferredSizeの代わりにも使用しsetSizeます。

于 2012-12-12T21:20:56.453 に答える