2014-01-23 6 views
0

Итак, у меня есть JButton, чтобы перезапустить мою игру.Настройка фокуса после кнопки Событие

private static class Clicked implements ActionListener { 

    @Override 
    public void actionPerformed(ActionEvent event) { 
     hero.setHealth(100); 
     cl.show(cards, sGame); 
    } 
} 

После того, как я нажимаю кнопку, слушатель клавиатуры не работает. Я посмотрел на него, и кажется, что окно теряет фокус. У меня уже есть setfocusable и добавление KeyListener в моей игровой панели:

addKeyListener(new Keys()); 
setFocusable(true); 
setDoubleBuffered(true); 

ли я сделать что-то после того, как событие кнопки или что?

ответ

1

Окно не теряет фокус, кнопка фокусируется, снимая его с вашего компонента с помощью KeyListener.

В ваших исследованиях также должно было быть обнаружено, что KeyListener будет реагировать только на ключевые события, когда компонент сконфигурирован и имеет фокус. Это известное ограничение KeyListener ...

Кроме того, в своих исследованиях, вы должны обнаружили, что Key Bindings API обычно рекомендуется, так как исправление этой проблемы ...

Смежные вопросы