java - 用键盘快捷键填充 jTextField
问题描述
我有一个名为 fecha 的 jTextField,默认情况下,它有一个文本“dd/mm/aaaa”来向用户展示如何填充它,我添加了一个事件,当它被点击或获得焦点时,它的文本消失了。我想使用 ctrl + A 的快捷方式来用实际日期填充 jTextField。
解决方案
更新:
要获取今天的日期,您可以使用以下方法:
java.time.LocalDate.now()
您可以使用它来将 JTextField 中的文本设置为按下“Ctrl + A”时的今天日期。
import java.awt.GridBagLayout;
import java.awt.event.*;
import javax.swing.*;
public class test {
public static void main(String[] args) {
JTextField fecha = new JTextField(10);
/* add a new action named "foo" to the panel's action map */
fecha.getActionMap().put("foo", new AbstractAction() {
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
fecha.setText(java.time.LocalDate.now().toString());
}
});
InputMap inputMap = fecha.getInputMap();
KeyStroke controlA = KeyStroke.getKeyStroke("control A");
inputMap.put(KeyStroke.getKeyStroke(Character.valueOf('a'), 0), "foo");
inputMap.put(controlA, "foo");
/* display the panel in a frame */
JFrame frame = new JFrame();
frame.getContentPane().add(fecha);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridBagLayout());
frame.setSize(400, 400);
frame.setVisible(true);
}
}
推荐阅读
- json - React 渲染 JSON 嵌套对象
- flutter - 颤振处理后退按钮后的状态
- python - 如何创建一个空数据框并循环插入数据?
- reactjs - 使用 dataSource 时 GraphQL 查询返回 null
- ios - UITableview 按钮在滚动时突出显示
- android-studio - 使用 Android-Studio 时未安装 Flutter 插件
- mysql - 烧瓶 check_password 总是返回 false
- django - 使用 django 频道和 websocket 添加多个组
- xml - XSLT - 仅在子项包含特定文本时显示
- javascript - 无法使用 useState 更新状态