JPanel i skróty klawiszowe

0

Witam!
Potrzebuję obsłużyć parę skrótów klawiszowych w mojej aplikacji. Moja klasa implementuje JPanel, więc robię tak:

AbstractAction zadanie = new AbstractAction() 
	    {
	        public void actionPerformed(ActionEvent ae) 
	        {
	        	System.out.println("PRINT STH");
	        }
	    };

 KeyStroke skrot = KeyStroke.getKeyStroke(KeyEvent.VK_G, Event.CTRL_MASK);
InputMap mapa = this.getInputMap(JComponent.WHEN_FOCUSED);
mapa.put(skrot,zadanie);

Jednak nie daje do żadnego efektu, nic się nie dzieje po wciśnięciu skrótu. Korzystałem z tego: Jak zarejestrować skrót klawiaturowy

0

Poradziłem sobie. Dla potomnych: należy jeszcze dodać takie zdarzenie do ActionMap.

	AbstractAction akcja = new AbstractAction() 
	    {
	        public void actionPerformed(ActionEvent ae) 
	        {
	        	System.out.println("DASDASDCASDFSADASDASD");
	        }
	    };
	    
	    this.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke("control G"), "nazwaAkcji");;
	    this.getActionMap().put("nazwa akcji", akcja );

Pozdrawiam! Sorry za zaśmiecanie...

1 użytkowników online, w tym zalogowanych: 0, gości: 1