SetBorder на JTextfield не работает? Или это?
-
21-09-2019 - |
Вопрос
Код такой:
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. Вуаля!
Не связан с StackOverflow