Я пишу программу с использованием Swing, которая включает в себя форму. Когда форма отправлена, у меня есть функция, которая ее проверяет, и любые недопустимые поля должны быть выделены красным цветом для исправления, а затем снова вернутся к границе по умолчанию.Изменить цвет границы JTextField, не изменяя другие свойства?
В настоящее время я использую следующий метод, чтобы получить границу по умолчанию JTextField
.
private Border defaultBorder = new JTextField().getBorder();
Есть ли способ сделать это без создания ненужного объекта?
Что еще более важно, как изменить цвет рамки, не затрагивая ее другие свойства?
'UIManager.getBorder (« Textfield.border »)' в зависимости от внешнего вида. Вы также можете использовать что-то вроде 'JLayer' для рисования на вашем пользовательском интерфейсе, например [http://stackoverflow.com/questions/25274566/how-can-i-change-the-highlight-color-of-a- focus-jcombobox/25276658 # 25276658) – MadProgrammer
Как указано в соответствующем [API] (http://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#setBorder-javax.swing. border.Border-). – trashgod
Спасибо, Андрей; Ваше решение отлично работало. – FlyingMonkey