Код похож на это:
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
?
Просмотрите это объяснение / рекомендацию от Java API
Как правило, если вы хотите установить границу для стандартного компонента Swing , кроме JPanel или JLabel, мы рекомендуем вам установить компонент {{ 1}} в JPanel и установите границу на JPanel.
Итак ... вы должны вложить JTextField в JPanel или JLabel и поставить границу на JPanel или JLabel. Вуаля!