【发布时间】:2014-05-24 19:55:02
【问题描述】:
我正在尝试将 FocusAdapter 添加到 JDateChooser 摆动项目,但 focusGained() 方法没有触发,无论是通过选项卡焦点还是鼠标单击...
public static void main(String[] args) {
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1;
JTextField textField = new JTextField();
panel.add(textField, c);
JDateChooser dateChooser = new JDateChooser(new Date());
dateChooser.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent evt) {
System.out.println(evt.getSource()); // This line never runs
}
});
c.gridy = 1;
panel.add(dateChooser, c);
JFrame frame = new JFrame();
frame.add(panel);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
令人沮丧...我错过了什么小东西吗?
【问题讨论】:
-
这是因为
JDateChooser没有收到焦点,它的编辑器收到了 -
@MadProgrammer,应该将其作为答案,以便我接受。
-
必须先查一下 ;)
标签: java swing jdatechooser focuslistener