6

コードは次のようになります。

JTextField txt = new JTextField();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));

ただし、テキスト フィールドは への呼び出しを無視していますsetBorder。変更は一切ありません。

JLabel私はそれを(例えば)に置き換えることになっていました

JLabel txt = new JLabel();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));

赤い枠が見えます。

理由を教えてもらえますか?または、に境界線を追加する方法を私に説明してくださいJTextField

4

1 に答える 1

6

JavaAPIからこの説明/推奨事項を確認してください

一般に、JPanelまたはJLabel以外の標準のSwingコンポーネントに境界線を設定する場合は、コンポーネントをJPanelに配置し、JPanelに境界線を設定することをお勧めします。

したがって...JTextFieldをJPanelまたはJLabelにネストし、境界線をJPanelまたはJLabelに配置する必要があります。出来上がり!

于 2010-02-17T14:52:37.060 に答える