我想双击 JDateChooser 使其启用。所以我使用 MouseListener :
jDateChooser1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
System.out.println("mouse clicked");
}
});
但是这个事件没有被触发,什么也没发生。
日期选择器是com.toedter.calendar 之一:
有什么建议吗?
解决方案
JDateChooser 是一个面板,我必须从面板中的组件监听鼠标事件。JDateChooser 有一个 getDateEditor(),女巫是文本字段。
这是解决方案:
this.jDateChooser1.getDateEditor().getUiComponent().addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
if(evt.getClickCount()==2){
Component c = ((Component)evt.getSource()).getParent();
c.setEnabled(!c.isEnabled());
}
}
});