Является ли хорошей практикой добавить несколько слушателей для JComponent в разные части кода? Должен ли я создать одного более крупного слушателя?Два KeyListeners на JTextField
Например, у меня есть JTextField, я заметил, что вызываются оба KeyListeners.
JTextField textField = new JTextField();
textField.addKeyListener(new KeyListener()
{
@Override
public void keyTyped(KeyEvent e)
{
}
@Override
public void keyPressed(KeyEvent e)
{
}
@Override
public void keyReleased(KeyEvent e)
{
something();
}
});
textField.addKeyListener(new KeyListener()
{
@Override
public void keyTyped(KeyEvent e)
{
}
@Override
public void keyPressed(KeyEvent e)
{
}
@Override
public void keyReleased(KeyEvent e)
{
somethingElse();
}
});
его около одного DocumentListener/Filter, не используйте KeyListener – mKorbel
Возможно, было бы лучше использовать KeyAdapter. Этот класс имеет пустые методы, поэтому вам нужно только переопределить то, что не пусто. Также подумайте об обработке ошибок, т. Е. Оставьте содержимое вашего обработчика блоком try-catch. –
Ну, это плохая практика использования 'KeyListener' с текстовыми компонентами. Правильно ли использовать несколько слушателей на одном компоненте, как правило, да. Правильно ли использовать однопользовательские прослушиватели с компонентами, да. Хорошая практика - иметь одного большого слушателя, ИМХО, нет. Полагаю, вы хотите создать небольшие единицы работы, которые выполняют одно изолированное задание. Конечно, вы могли бы абстрагировать слушателя, который позволил бы вам повторно использовать, но наличие одного монолитного слушателя - это просто кошмар для обслуживания. – MadProgrammer