Слушатель фрейма на тильду (~) - Java

Узнай цену своей работы

Формулировка задачи:

Как-то я не могу сделать слушатель на тильду.. -_- Эта строка не работает... if (key.getKeyCode() == KeyEvent.VK_DEAD_TILDE)
И почему вообще мертвая тильда?.. 0_о
Оказывается, у меня вообще не вешается слушатель на фрейм... Почему строка getContentPane().addKeyListener(new KeyListener() - не работает? При появлении фрейма - очевидно, слушатель не активен. Номер ~ я вроде нашел уже..
Листинг программы
  1. getContentPane().addKeyListener(new KeyListener()
  2. {
  3. @Override
  4. public void keyPressed(KeyEvent key)
  5. {
  6. System.out.println("Код => " + key.getKeyCode());
  7. if (key.getKeyCode() == 192)
  8. .....
Нет никаких сообщений в консоли! Все мертвое..
Блин, да что за... Пытался сделать невидимую кнопку debug и на нее поставить горячую клавишу для слушателя - снова ноль эмоций! debug.setMnemonic(KeyEvent.VK_F11); - при нажатии на F11 ничего не происходит!
НАшел в инете пример, но совершенно не понимаю, что тут вообще происходит? Я не правильно понимаю назначение мнемоники?..
Листинг программы
  1. // create an Action doing what you want
  2. Action action = new AbstractAction("doSomething") {
  3. @Override
  4. public void actionPerformed(ActionEvent e) {
  5. System.out.println("triggered the action");
  6. }
  7. };
  8. // configure the Action with the accelerator (aka: short cut)
  9. action.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("control S"));
  10. // create a button, configured with the Action
  11. JButton toolBarButton = new JButton(action);
  12. // manually register the accelerator in the button's component input map
  13. toolBarButton.getActionMap().put("myAction", action);
  14. toolBarButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
  15. (KeyStroke) action.getValue(Action.ACCELERATOR_KEY), "myAction");
черт побери, с этим кодом кнопка не работает, только закрывает появляющйся фрем с клавиш, а клавиши не закрывают, только открывают его! А если кнопку сделать невидимой, вообще не работает.... уф!.....
В общем, я провозился вечер и так и не смог толком сделать простую гор.клавину в Фрейме. Как минимум из-за огрничения на фокус окна для работы клавиши! Кошмар.
КейЛистенеры в Фреме не работают, других для перехвата клавиш я не нашел. В Яве все на столько плохо?!

Решение задачи: «Слушатель фрейма на тильду (~)»

textual
Листинг программы
  1. System.out.println(getConentPane() instanceof JFrame)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы