Мне нужно будет активировать MouseListener в компоненте SwingX JXDatePicker, позволяя выполнять определенные действия, когда пользователь нажимает на компонент. К сожалению, событие никогда не запускается.Java Swing mouse прослушиватель не работает
Настоящего небольшой фрагмент кода, который воспроизводит проблему:
public class TestDummy4 extends JFrame implements MouseListener{
private static final long serialVersionUID = -2424758762078571430L;
public TestDummy4(){
super();
this.getContentPane().setLayout(new BorderLayout());
//Adds date picker
JXDatePicker dp = new JXDatePicker();
dp.getEditor().setEditable(false);
dp.getEditor().setHighlighter(null);
dp.addMouseListener(this);
this.getContentPane().add(dp);
this.pack();
this.setVisible(true);
}
public static void main(String[] args) throws IOException {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
//Builds GUI
new TestDummy4();
}
});
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Mouse clicked");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("Mouse pressed");
}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("Mouse Entered");
}
@Override
public void mouseExited(MouseEvent e) {}
}
С помощью этого кода, у меня нет ни одной строки вывода на консоли при нажатии на JXDatePicker.
Любая помощь/подсказка будет принята с благодарностью! Томас
тот же вопрос со всеми составными компонентами (fi с основным комбо, см. учебник): вы не можете добавить слушателей низкого уровня к родительскому и expe ct, что он будет получать уведомления о событиях для детей. – kleopatra
* «Java Swing mouse listenener ..» * Незначительная точка, но 'MouseListener' (как и большинство слушателей) - это чистый AWT. –