Как изменить цвет поля ввода текста в java?

611
31 мая 2017, 03:55

есть окно, в нем два элемента - кнопка и текстовое поле(JTextField), как реализовать что бы после удаления символов из поля, оно становилось белым(до этого оно меняет цвет), это должно происходить автоматически при пустом поле

Answer 1

Если нужно после выхода с поля менять цвет- вешаешь FocusListener и в методе focusLost проверяешь длину строки в поле:

JTextField field = new JTextField();
field.addFocusListener(new FocusListener() {
        @Override
        public void focusLost(FocusEvent e) {
             if (field.getText().isEmpty())
                 field.setBackground(new Color(255, 255, 255));
        }
});

Если текст будет менятся программно:

field.getDocument().addDocumentListener(new DocumentListener() {
    public void changedUpdate(DocumentEvent e) {
        warn();
    }
    public void removeUpdate(DocumentEvent e) {
        warn();
    }
    public void insertUpdate(DocumentEvent e) {
        warn();
    }
    public void warn() {
        if (field.getText().isEmpty())
             field.setBackground(new Color(255, 255, 255));
    }
});
READ ALSO
Пройти авторизацию oauth.vk.com

Пройти авторизацию oauth.vk.com

Нужно пройти oauthvk

339
Properties file в web проекте

Properties file в web проекте

Есть код создания соединения с БД для консольного варианта:

244
Не удается выполнить запись в поток

Не удается выполнить запись в поток

Пишу оболочку для сервера Minecraft и столкнулся со следующей проблемойЕсть поток, в котором непосредственно запускается jar файл сервера

392
Разбор библиотеки на “запчасти”

Разбор библиотеки на “запчасти”

Весьма актуальный как мне кажетсяЕсть библиотеки, имплементить всё подряд не дело, так как всё имеет свойство устаревать + зачастую нам не нужен...

391