Вопрос

Я хочу Mouselistener для JPanel внутри JTabbedPane в JFrame ...
Я хочу, чтобы это было распечатать что-то, всякий раз, когда мышь нажат / нажата / нажата.
Я пытался оглянуться, но когда я пытаюсь внедрить его, я получил ошибку в этой строке:

public class GUI implements ActionListener, MouseListener

И это ошибка:

GUI не абстрактно и не переопределяет абстрактный метод mouseExited(java.awt.event.MouseEvent) в java.awt.event.MouseListener

Что это обозначает?

PS (бит JPanel / Tab я хочу, называется: DisplayMainPanel)
Большое спасибо.

Это было полезно?

Решение

JPanel jPanel = new JPanel();
jPanel.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    System.out.println("mouseClicked");
                }
                public void mouseEntered(java.awt.event.MouseEvent evt) {
                    System.out.println("mouseEntered");
                }
                public void mouseExited(java.awt.event.MouseEvent evt) {
                    System.out.println("mouseExited");
                }
                public void mousePressed(java.awt.event.MouseEvent evt) {
                    System.out.println("mousePressed");
                }
                public void mouseReleased(java.awt.event.MouseEvent evt) {
                    System.out.println("mouseReleased");
                }
            });

Другие советы

Ну, вы должны переопределить mouseExit:

В твоей GUI класс:

@Override
public void mouseExit(MouseEvent e) { /* Do nothing */ }

Когда все ошибки ушли. Не забудьте yourPanel.addMouseListener(theMouseListener):

yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener);

А затем установите фокус на панель, чтобы быть уверены, что события будут пойманы.

yourPanel.requestFocus();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top