KeyListener для JPanel находящейся в JScrollPane, находящейся в JSplitPane - Java
Формулировка задачи:
есть окно разделенное на 4 части с помощью JSplitPane. в каждой из этих частей находится JScrollPane в котором лежит JPanel. нужно сделать так чтобы при нажатии на JPanel включался ее обработчик клавиатуры(KeyListener), но он почему то не включается((. в конструкторе JPanel пишу:
t - ссылка на объект класса JPanel внутри этого объекта.
самое главное MouseFieldListener почему то работает и вызывает setFocusable(), но это не приводит к тому что KeyFieldListener начинает работать. подскажите пожалуйста, что можно сделать, чтобы он заработал.
Листинг программы
- addMouseListener(new TextFieldMouseListener());
- addKeyListener(new TextFieldKeyListener());
Листинг программы
- private class MouseFieldListener implements MouseListener{
- public void mouseClicked(MouseEvent e){
- t.setFocusable(true);
- }
- public void mouseEntered(MouseEvent e){
- setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
- }
- public void mouseExited(MouseEvent e){
- setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
- }
- public void mousePressed(MouseEvent e){}
- public void mouseReleased(MouseEvent e){}
- }
Листинг программы
- private class KeyFieldListener implements KeyListener{
- public void keyTyped(KeyEvent e){
- System.out.println("unicode");
- }
- public void keyPressed(KeyEvent e){
- System.out.println("any");
- }
- public void keyReleased(KeyEvent e){}
- }
Решение задачи: «KeyListener для JPanel находящейся в JScrollPane, находящейся в JSplitPane»
textual
Листинг программы
- panel.requestFocusInWindow();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д