gpt4 book ai didi

java - 什么是用于检测 JDatePicker 文本字段中的移动/单击的适当监听器?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:41 24 4
gpt4 key购买 nike

在我的 GUI 中,我有几组单选按钮,每组有两个单选按钮。第一个单选按钮是正常的文本,而另一个只是一个单选按钮,旁边有 JDatePicker。我想模仿单选按钮的行为,以便 JDatePicker 看起来与它耦合,因此当它悬停在 JDatePicker 的文本字段上时,单选按钮亮起,当它被单击时单选按钮更改为该字段。

GUI Screenshot

我制作了一个 Action 监听器并将其添加到 JDatePickerImpl,并尝试监听该组件,但没有任何反应——当我单击文本字段或按钮时不会触发监听器。

UtilDateModel model = new UtilDateModel();
Properties p = new Properties();
p.put("text.today", "Today");
p.put("text.month", "Month");
p.put("text.year", "Year");
JDatePanelImpl datePanel = new JDatePanelImpl(model, p);
// Don't know about the formatter, but there it is...
fromDatePicker = new JDatePickerImpl(datePanel, new
DateLabelFormatter());
fromDatePicker.setBounds(45, 186, 170, 26);
JFormattedTextField textField =
fromDatePicker.getJFormattedTextField();
textField.setFont(new Font("Tahoma", Font.PLAIN, 14));

nowRdBtn = new JRadioButton("Right This Second");
nowRdBtn.setBounds(22, 235, 139, 29);
buttonGroup_1.add(nowRdBtn);
nowRdBtn.setFont(new Font("Tahoma", Font.PLAIN, 14));


TTListener listener = new TTListener();
fromDatePicker.addActionListener(listener);


private class TTListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent event) {
if (event.getSource() == fromDatePicker) {
System.out.print("Done");
beginningRdBtn.setEnabled(false);
fromDateRdBtn.setEnabled(true);
}
}
}

单独地,组件按预期工作,但所需的耦合行为却没有。从 JDatePickerImpl 获取相应的 JFormattedTextField 并监听它也不会产生任何结果。

最佳答案

我猜你使用的 JDatePickerImplorg.jdatepicker.impl.JDatePickerImpl。此处 ActionListener 仅在用户选择日期时触发。您应该尝试添加 MouseListener 并实现 mouseEntered()mouseExited()

关于java - 什么是用于检测 JDatePicker 文本字段中的移动/单击的适当监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54316135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com