【发布时间】:2015-08-14 13:45:02
【问题描述】:
我想在JDatePicker 的FocusEvent 中执行一些功能。我正在使用下面的代码来实现FocusListener。
Properties p = new Properties();
p.put("text.today", "Today");
p.put("text.month", "Month");
p.put("text.year", "Year");
UtilDateModel model = new UtilDateModel();
Calendar today=Calendar.getInstance();
Date todayDate=new Date();
today.setTime(todayDate);
model.setDate(today.get(Calendar.YEAR), today.get(Calendar.MONTH), today.get(Calendar.DATE));
model.setSelected(true);
JDatePanelImpl datePanel =new JDatePanelImpl(model, p);
JDatePickerImpl datePicker = new JDatePickerImpl(datePanel,new DateLabelFormatter());
datePicker.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub
System.out.println("fcus lost");
}
@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
System.out.println("focus gained");
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
//repaint();
displayImage(categoryAttributeObj,imGroupObj);
}
});
}
});
此代码不起作用。这段代码有错误吗?
【问题讨论】:
-
“我在这段代码中有任何错误” - 真的,像什么?
-
也许,您应该将
ChangeListener附加到模型而不是尝试监听焦点更改事件 -
我正在使用 jdatepicker.1.3.4.jar 来实现 datepicker。在这个 JDatePicker 类中是否可以使用 changeListener
-
那是因为它是模型的一部分 (
UtilDateModel) -
这仅在 DatePicker 的状态更改时有效。我想在关注 Datepicker 时实现功能。
标签: java swing jdatechooser focuslistener