setBorder на JTextField не работает? или он?

Код похож на это:

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

Однако текстовое поле игнорирует мой вызов к setBorder. Никакие изменения вообще.

Я должен был заменить его a JLabel (например),

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

Я видел бы красную границу.

Кто-либо может сказать мне почему? Или еще лучше объясните мне, как включить границу JTextField?

6
задан Tom Hawtin - tackline 17 February 2010 в 15:19
поделиться

1 ответ

Просмотрите это объяснение / рекомендацию от Java API

Как правило, если вы хотите установить границу для стандартного компонента Swing , кроме JPanel или JLabel, мы рекомендуем вам установить компонент {{ 1}} в JPanel и установите границу на JPanel.

Итак ... вы должны вложить JTextField в JPanel или JLabel и поставить границу на JPanel или JLabel. Вуаля!

6
ответ дан 17 December 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: