Вопрос

Код такой:

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?

Это было полезно?

Решение

Проверить Это объяснение/рекомендация из Java API

В целом, когда вы хотите установить границу на стандартный компонент свинга, отличный от JPanel или Jlabel, мы рекомендуем вам поместить компонент в JPanel и установить границу на JPanel.

Итак ... вы должны гнездовать свой JTextfield в JPanel или Jlabel, и поставить границу на JPanel или Jlabel. Вуаля!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top