learning java swing 双缓冲和键盘驱动
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent; public class BindKeyTest {
JFrame jf = new JFrame("test keyboard bind");
JTextArea jta = new JTextArea(,);
JButton jb = new JButton("发送");
JTextField jtf = new JTextField();
public void init(){
jf.add(jta);
var 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);
jtf.getInputMap().put(KeyStroke.getKeyStroke('\n', InputEvent.CTRL_DOWN_MASK), "send");
jtf.getActionMap().put("send", sendMsg); jf.pack();
jf.setVisible(true);
} public static void main(String[] args) {
new BindKeyTest().init();
} }
outpu:

learning java swing 双缓冲和键盘驱动的更多相关文章
- java Swing 图片缓冲机制
java Swing 图片缓冲机制: 参考:http://jorneyr.iteye.com/blog/868858#comments package util; import java.awt.ge ...
- java的双缓冲技术
Java的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色.在Java游戏编程和动画编程中最常见的就是对于屏幕闪烁的处理.本文从J2SE的一个再现了屏幕闪烁的Java Appilication简单 ...
- Java中用双缓冲技术消除闪烁
在Java编写具有连贯变化的窗口程序时,通常的办法是在子类中覆盖父类的paint(Graphics)方法,在方法中使用GUI函数实现窗口重绘的过程.连贯变换的窗口会不断地调用update(Graphi ...
- learning java swing 基本组件用法
import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event ...
- java之双缓冲的代码粘贴
private Image offScreenImage = null; public void update(Graphics g) { if(offScreenImage == null) off ...
- java swing 双人五子棋源代码
import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Toolkit; impo ...
- Java swing项目-图书管理系统(swing+mysql+jdbc) 总结
(一)java Swing的学习. (1)学习如何安装windowbuilder插件的安装. <1>在eclipse中点击help <2>在help的下拉选中选择install ...
- Java swing实现酒店管理系统
今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: packa ...
- Java swing JFrame用repaint出现闪烁的问题解决
这几天用swing写登录页面背景动图的时候发现一直会有闪烁(我的类是继承JFrame),就来搜原因后发现好像是因为repaint会调用update()方法中的清屏操作导致闪烁. 我当时看的是这个文章 ...
随机推荐
- Java代码生成器Easy Code
EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml).只要是与数据库相关的代码都可以通过自定义模板来生成.支持数据库类型与java ...
- tkinter学习笔记_01
知识点目录: 1. 文本框 Label var = tk.StringVar() # 文本框 bg 背景颜色 fonnt 字体设置 width 长 height 高 l = tk.Label(root ...
- C#使用Selenium
介绍: Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla ...
- JSON省市区
省: [ { "ProID": 1, "name": "北京市", "ProSort": 1, "ProRem ...
- GitHub预览网页[2019最新]
GitHub预览网页 1. 创建仓库 2. 设置页面预览 3. 上传html 4. 访问网页 1. 创建仓库 登陆GitHub创建仓库 datamoko 添加基本信息: 仓库名.仓库描述,然后点击创建 ...
- springboot笔记08——整合swagger2
Swagger是什么? Swagger是一个RESTFUL 接口的文档在线自动生成和功能测试的框架.利用swagger2的注解可以快速的在项目中构建Api接口文档,并且提供了测试API的功能. Spr ...
- 数据结构与算法(周测9-B树与B+树)
由于博主太菜,题目集还不完整,有待更新. 判断题 1.m阶B树的根结点最多有m棵子树. T F 2.In a B+ tree, leaves and nonleaf nodes h ...
- spring的事务传播行为与隔离级别
具体请参考blog:https://bbs.csdn.net/topics/391875990 要明白2个概念: 1.“spring的事务传播属性” 2.“spring的事务隔离级别” 例如正常的sp ...
- iOS - 安装CocoaPods详细过程(重装系统后!)
重装的系统,发现很多东西都要重装,顺便复习和检验下以前的方法还有没有效 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们 ...
- Xen们和Open Stack们
1.虚拟化技术:XEN.KVM.ESXI 2.虚拟化管理:Eucalyptus, OpenNebula, OpenStack, OpenQRM, XenServer, Oracle VM, Cloud ...