Я пытаюсь создать программу, где изображение находится на экране, и если переменный ключевой код равен ключу VK_ESCAPE, он удалит изображение с экрана с помощью метода validate. Как я могу сфокусировать keylistener, чтобы я мог запускать оператор if и проверять изображение. У меня импортированы правильные библиотеки, и я не получаю никаких ошибок ?!Java Keylistener Если заявление
public void keyPressed(KeyEvent e){
int keycode = e.getKeyCode();
if(keycode == KeyEvent.VK_ESCAPE){
scroll = new ImageIcon("").getImage();
validate();
e.consume();
}
}
Является 'keyPressed' называется вообще? Компонент, на котором вы хотите запустить событие, должен иметь фокус клавиатуры. Рекомендуемой альтернативой является использование [привязки клавиш] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) вместо 'KeyListener'. Тогда компонент не должен быть владельцем фокуса. –
Вам нужно удалить изображение из родителя, например. JPanel, а затем вызовите revalidate() –