powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Перехват нажатия клавиш
7 сообщений из 7, страница 1 из 1
Перехват нажатия клавиш
    #34613032
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в диалоговом окне перехватить все алфавитно-цифровые клавиши по типу:
Код: plaintext
1.
2.
 this .getContentPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
   KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_MASK, true), "search");

то есть, что нужно прописать вместо KeyEvent.VK_F?
...
Рейтинг: 0 / 0
Перехват нажатия клавиш
    #34613200
Дуремар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй повесить то же самое тоько в мапу JComponent.WHEN_IN_FOCUSED_WINDOW на JRootPane диалога
...
Рейтинг: 0 / 0
Перехват нажатия клавиш
    #34613204
Фотография fixxer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KeyEvent.VK_ALPHANUMERIC ?
...
Рейтинг: 0 / 0
Перехват нажатия клавиш
    #34613251
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Fri, 22 Jun 07 09:09:55 GMT
"Дуремар" <nospam@sql.ru>; записано:

> Автор: Дуремар
> Попробуй повесить то же самое тоько в мапу
> JComponent.WHEN_IN_FOCUSED_WINDOW на JRootPane диалога Тема Ответить
> Сообщение
>
не понял...
мой вариант отлично срабатывает для ctrl+F, независимо от того, где
находится фокус. нужно чтоб он срабатывал также и для случая, когда я
просто начинаю набирать текст.
Код: plaintext
1.
2.
3.
this.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
	KeyStroke.getKeyStroke(KeyEvent.KEY_PRESSED,  0 , true),
"search");
так попробовал - не работает.
есть вариант - пробежать в цикле по A-Za-zА-Яа-я0-9 и добавить
слушателя, но он мне не нравится
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перехват нажатия клавиш
    #34613266
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Fri, 22 Jun 07 09:11:19 GMT
"fixxer" <nospam@sql.ru>; записано:

> Автор: fixxer
> KeyEvent.VK_ALPHANUMERIC ?
> Тема Ответить Сообщение
>
пробовал, не катит. как я понял, VK_ALPHANUMERIC - это для них вообще
какая-то всамоделишняя клавиша.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перехват нажатия клавиш
    #34613336
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 import  java.awt.*;
 import  java.awt.event.*;
 import  javax.swing.*;

 public   class  KeyTest  extends  JFrame {

    public  KeyTest() {
      JPanel rootPanel =  new  JPanel();
      setContentPane(rootPanel);
      getContentPane().setLayout( new  BorderLayout());
      setSize( 100 ,  100 );
      rootPanel.add( new  JButton("foo"));
      rootPanel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
         KeyStroke.getKeyStroke(
            KeyEvent.VK_F, KeyEvent.CTRL_MASK, true), "search");

      rootPanel.getActionMap().put("search",  new  AbstractAction() {
             public   void  actionPerformed(ActionEvent e) {
                System.out.println("Success");
            }
        });
      setVisible(true);
   }

    public   static   void  main(String[] args) {
       new  KeyTest();
   }
}

щас отрабатывает для Ctrl+F, как сделать чтоб отрабатывало для любого
нажатия на клавишу?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перехват нажатия клавиш
    #34613394
Дуремар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deady
На Fri, 22 Jun 07 09:09:55 GMT
"Дуремар" <nospam@sql.ru>; записано:

> Автор: Дуремар
> Попробуй повесить то же самое тоько в мапу
> JComponent.WHEN_IN_FOCUSED_WINDOW на JRootPane диалога Тема Ответить
> Сообщение
>
не понял...
мой вариант отлично срабатывает для ctrl+F, независимо от того, где
находится фокус. нужно чтоб он срабатывал также и для случая, когда я
просто начинаю набирать текст.
Код: plaintext
1.
2.
3.
this.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
	KeyStroke.getKeyStroke(KeyEvent.KEY_PRESSED,  0 , true),
"search");
так попробовал - не работает.
есть вариант - пробежать в цикле по A-Za-zА-Яа-я0-9 и добавить
слушателя, но он мне не нравится
Posted via ActualForum NNTP Server 1.4
Sorry - фигню спорол - не проснулся еще :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Перехват нажатия клавиш
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]