Java中的Swing键盘绑定案例

简介:

422101-20161209212952772-432150027.png

422101-20161209213000569-822527254.png

package ch12;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 * Created by Jiqing on 2016/12/9.
 */
public class BindKeyTest {
    JFrame jf = new JFrame("测试键盘绑定");
    JTextArea jta = new JTextArea(5,30);
    JButton jb = new JButton("发送");
    JTextField jtf = new JTextField(15);
    public void init() {
        jf.add(jta); // 内容区域
        JPanel jp = new JPanel();
        jp.add(jtf);
        jp.add(jb);
        jf.add(jp, BorderLayout.SOUTH); // 加入输入框和按钮


        Action sendMsg = new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 事件动作
                jta.append(jtf.getText() + "\n");
                jtf.setText("");
            }
        };

        // 添加事件监听器,点击按钮发送
        jb.addActionListener(sendMsg);

        // 关联Ctrl+Enter和Send
        jtf.getInputMap().put(KeyStroke.getKeyStroke('\n',java.awt.event.InputEvent.CTRL_MASK),"send");
        jtf.getActionMap().put("send",sendMsg);
        jf.pack();
        jf.setVisible(true); // 显示组件

    }

    public static void main(String[] args) {
        new BindKeyTest().init();
    }
}



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6151582.html,如需转载请自行联系原作者
相关文章
|
17天前
|
存储 Java
java用base64编码案例
Java Base64编码示例:导入`java.util.Base64`,设置字符串`originalString`,使用`Base64.getEncoder().encodeToString()`编码并存储到`encodedString`,打印编码后字符串。解码用`Base64.getDecoder().decode()`。
20 0
|
1月前
|
安全 Java API
精通 Java 后台开发:案例分析与实践
【4月更文挑战第5天】本文旨在帮助读者掌握 Java 后台开发,通过电子商务系统案例探讨数据库设计、RESTful API、安全性和性能优化。使用 Spring 框架简化开发,Spring Security 保障安全,缓存技术提升性能。实践部分强调版本控制、单元测试、CI/CD 和代码规范的重要性,助力开发者提升技能,应对挑战。
|
1月前
|
存储 Java 关系型数据库
农产品管理系统【GUI/Swing+MySQL】(Java课设)
农产品管理系统【GUI/Swing+MySQL】(Java课设)
19 1
|
1月前
|
存储 Java 关系型数据库
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
个人成绩信息管理系统【GUI/Swing+MySQL】(Java课设)
21 0
|
1月前
|
存储 Java 关系型数据库
酒店管理系统【GUI/Swing+MySQL】(Java课设)
酒店管理系统【GUI/Swing+MySQL】(Java课设)
24 1
|
1月前
|
Java
java_键盘录入、随机数
本文介绍了Java中键盘录入和Random类的使用。键盘录入用于从用户那里获取数据,通过导入`java.util.Scanner`,创建`Scanner`对象,调用`nextInt()`或`nextDouble()`读取整数和小数,`next()`读取字符串。Random类用于生成随机整数,导入该类后创建对象,调用`nextInt(int bound)`生成[0, bound-1]范围内的随机数。在JDK17及以上版本,可以使用`nextInt(int start, int end)`生成[start, end)范围的随机数。常见应用包括猜数字游戏和随机点名。
13 0
|
1月前
|
SQL 设计模式 安全
Java单例模式几种写法以及代码案例拿来直接使用
Java单例模式几种写法以及代码案例拿来直接使用
36 0
|
4天前
|
设计模式 消息中间件 安全
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
10 0
|
13天前
|
Java 关系型数据库 测试技术
Java代码一键生成数据库文档(案例详解)
Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
|
15天前
|
Java
【专栏】Java 8 的 Streams 提供了一种处理数据集合的新方式,增强了代码的可读性和可维护性
【4月更文挑战第28天】Java 8 的 Streams 提供了一种处理数据集合的新方式,增强了代码的可读性和可维护性。本文介绍了 Streams 的基本概念,如从数据源创建 Stream,以及中间和终端操作。通过过滤、映射、归并、排序、分组等案例,展示了 Streams 的使用,包括并行 Streams 提高效率。学习 Streams 可以提升代码质量和效率,文章鼓励读者在实际开发中探索更多 Streams 功能。