如何给文本框增加快捷键呢?
Ctrl+Z :恢复(undo)
Ctrl+C :拷贝
Ctrl+X :剪切
Ctrl+V :黏贴
Ctrl+Y :重做
Ctrl+R :使...只读
Ctrl+E :使...可编辑
Ctrl+D :清空文本框
文本框快捷键
public void addActionMap() { getActionMap().put("Undo", new AbstractAction("Undo11") { private static final long serialVersionUID = 2434402629308759912L; public void actionPerformed(ActionEvent evt) { try { boolean b = undo.canUndo(); // System.out.println("whether undo : "+b); if (b) { undo.undo(); } } catch (CannotUndoException e) { } } }); getInputMap().put(KeyStroke.getKeyStroke("control Z"), "Undo"); getActionMap().put("Redo", new AbstractAction("Redo1111") { private static final long serialVersionUID = 5348330289578410517L; public void actionPerformed(ActionEvent evt) { try { if (undo.canRedo()) { undo.redo(); } } catch (CannotRedoException e) { } } }); getInputMap().put(KeyStroke.getKeyStroke("control R"), "Redo"); getActionMap().put("Copy", new AbstractAction("Copy111") { private static final long serialVersionUID = -5151480809625853288L; public void actionPerformed(ActionEvent evt) { copy(); } }); getInputMap().put(KeyStroke.getKeyStroke("control C"), "Copy"); getActionMap().put("Cut", new AbstractAction("Cut") { private static final long serialVersionUID = 7316612864835857713L; public void actionPerformed(ActionEvent evt) { cut(); } }); getInputMap().put(KeyStroke.getKeyStroke("control X"), "Cut"); getActionMap().put("Paste", new AbstractAction("Paste111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { paste(); } }); getInputMap().put(KeyStroke.getKeyStroke("control V"), "Paste"); // redo Ctrl + Y getActionMap().put("Redo", new AbstractAction("reDo111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { if (undo.canRedo()) { undo.redo(); } } }); getInputMap().put(KeyStroke.getKeyStroke("control Y"), "Redo"); getActionMap().put("Save", new AbstractAction("save111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { dealSave((JTextComponent)evt.getSource()); } }); getInputMap().put(KeyStroke.getKeyStroke("control S"), "Save"); //按Ctrl+R 使文本框只读,不可编辑 getActionMap().put("Readonly", new AbstractAction("Readonly111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { JTextComponent tf=(JTextComponent)evt.getSource(); if(!ValueWidget.isNullOrEmpty(tf)){ tf.setEditable(false); } } }); getInputMap().put(KeyStroke.getKeyStroke("control R"), "Readonly"); //按Ctrl+E 使文本框可编辑 getActionMap().put("Editable", new AbstractAction("Editable111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { JTextComponent tf=(JTextComponent)evt.getSource(); if(!ValueWidget.isNullOrEmpty(tf)){ tf.setEditable(true); tf.requestFocus(); // tf.repaint(); tf.updateUI(); } } }); getInputMap().put(KeyStroke.getKeyStroke("control E"), "Editable"); //按Ctrl+D 清空文本框 getActionMap().put("cleanUp", new AbstractAction("cleanUp111") { private static final long serialVersionUID = -3548620001691220571L; public void actionPerformed(ActionEvent evt) { JTextComponent tf=(JTextComponent)evt.getSource(); if(!ValueWidget.isNullOrEmpty(tf)){ tf.setText(SystemHWUtil.EMPTY); tf.requestFocus(); } } }); getInputMap().put(KeyStroke.getKeyStroke("control D"), "cleanUp"); }
具体见源代码中的com.swing.component.UndoTextArea
相关推荐
文本框快捷键cmd+M :弹出右键菜单;cmd+L :最大化文本框;cmd+R :使文本框只读;cmd+E :使文本框可以编辑;cmd+Enter :文本框可添加自定义事件;cmd+F :搜索;cmd+G :截图;cmd+D :清空文本框;依赖关系注意:java 编译级别...
Swing中的导航主要指的是在组件之间,如按钮、文本框和菜单之间的交互方式,这些通常涉及键盘快捷键和鼠标操作。 Swing组件包括但不限于: 1. **JFrame**: 应用程序的主窗口,通常作为其他组件的容器。 2. **JPanel...
开发者通常在JFrame中添加其他组件,如按钮、文本框等。 - **JPanel**: JPanel是Swing中的一个轻量级容器,常用来组织和管理其他组件。 - **JButton**: JButton用于创建可点击的按钮,可以绑定事件监听器来响应...
Swing提供了大量可定制的组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动窗格(JScrollPane)等。这些组件都继承自AbstractComponent类,具有丰富的事件处理机制,支持添加...
首先,Swing 提供了丰富的组件集,包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、复选框(JCheckBox)、单选按钮(JRadioButton)、滚动面板(JScrollPane)、菜单(JMenu)和菜单项( JMenuItem)等...
2. **文本框(JTextField)**:JTextField是用于输入单行文本的组件,常用于获取用户输入。可以设置其最大字符数,文本过滤器等属性,也可以添加TextListener或DocumentListener来监听文本变化。 3. **复选框...
5. **菜单栏与快捷键**:通过JMenuBar和JMenu可以创建菜单栏,JMenuItem用于添加菜单项,结合Key Bindings可以设置快捷键,提高用户体验。 从标签“java 开发语言 后端 apache swing”可以看出,这个项目可能也涉及...
Swing提供了丰富的组件集,包括按钮、文本框、菜单等,使得开发者能够创建功能强大的、交互式的应用程序。本资源包包含的随书实例代码涵盖了从基础到进阶的多个章节,旨在帮助读者深入理解和掌握Java Swing的使用。 ...
菜单和工具栏组件在JIDE中也得到了增强,它们不仅具有标准Swing组件的所有功能,还增加了诸如快捷键配置、图标自定义等高级特性。这使得开发人员能够创建出更具专业感和用户友好的界面。对话框组件在JIDE中也有丰富...
首先,AWT是Java最早提供的GUI库,它提供了基本的窗口组件,如按钮、文本框等。AWT组件与操作系统紧密集成,因此具有较好的性能和平台一致性。然而,由于AWT直接依赖于本地操作系统,导致其界面风格可能因平台而异,...
在Swing中,控件是指可以交互的GUI元素,如按钮、文本框、菜单等。Swing控件是轻量级的,它们不依赖于操作系统,因此可以在不同平台上提供一致的用户体验。 Swing组件基于Abstract Window Toolkit (AWT),但相比AWT...
- **键盘快捷键设置**:通过`setMnemonic()`方法可以设置组件的键盘快捷键。 #### 6. 树形结构操作 - **树节点操作**:`DefaultMutableTreeNode`类用于表示树结构中的一个节点,可以对节点进行增删改查操作。 - **...
Swing组件包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动窗格( JScrollPane)、菜单(JMenu)等,以及对话框(JOptionPane)和其他复杂的布局管理器。这些组件使得开发者可以...
Swing组件库包括了各种各样的控件,如按钮、文本框、标签、滚动面板、菜单、对话框等,这些控件都继承自轻量级组件体系结构,与AWT(Abstract Window Toolkit)相比,Swing具有更好的跨平台兼容性和更多的自定义选项...
在Swing中,开发者可以使用各种组件来构建用户界面,如按钮(JButton),文本框(JTextField),标签(JLabel),滚动面板(JScrollPane),对话框(JOptionPane),以及更复杂的容器如JFrame(主窗口)和JPanel(可自定义的...
Swing 提供了一系列组件,如按钮、面板、文本框等,这些组件使得开发者能够创建出功能丰富的交互式界面。 Swing 拼图游戏的核心机制可能包括以下几个方面: 1. 图片加载:首先,游戏需要读取并加载一张图片。这...
它包含了一组轻量级的组件,如按钮、文本框、面板等,这些组件可以组合起来创建复杂的用户界面。Swing也支持事件处理,使得程序能够响应用户的交互,例如键盘和鼠标操作,这在贪吃蛇游戏中尤为重要。 【游戏实现】 ...
JFC Swing的高级特性还包括对键盘快捷键的支持、对国际化和本地化(i18n/l10n)的支持,这些特性让Swing的应用程序能够适应不同文化和语言环境。 通过阅读和学习《深入学习:JFC Swing-Java基础类组件集》,开发者...
Swing 提供了大量预定义的组件,如按钮(JButton)、文本框(JTextField)、面板(JPanel)、滚动条(JScrollPane)、菜单(JMenu)等,这些都是构建用户界面的基本元素。此外,Swing 还支持事件处理、布局管理以及...
Swing 提供了一系列组件,如按钮、文本框、菜单等,使得开发者能够构建功能丰富的交互式图形界面。 在"JavaSwing 图形界面开发与案例详解"这本书中,作者深入浅出地介绍了如何使用Swing进行GUI编程。源代码文件列表...