Java——Swing事件处理
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener; import javax.swing.JFrame; //=================================================
// File Name : MyWindowListener_demo
//------------------------------------------------------------------------------
// Author : Common class MyWindowEventHandle implements WindowListener{ //实现窗口监听 @Override
public void windowOpened(WindowEvent e) { //窗口打开时触发
// TODO 自动生成的方法存根
System.out.println("windowOpened-->窗口被打开");
} @Override
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
} @Override
public void windowClosed(WindowEvent e) { //窗口被关闭时触发
// TODO 自动生成的方法存根
System.out.println("windowClosed-->窗口被关闭");
} @Override
public void windowIconified(WindowEvent e) { //窗口最小化时触发
// TODO 自动生成的方法存根
System.out.println("windowIconified-->窗口最小化");
} @Override
public void windowDeiconified(WindowEvent e) { //窗口从最小化恢复
// TODO 自动生成的方法存根
System.out.println("windowDeiconified-->窗口从最小化恢复");
} @Override
public void windowActivated(WindowEvent e) { //设置为非活动窗口是触发
// TODO 自动生成的方法存根
System.out.println("windowActivated-->窗口被选中");
} @Override
public void windowDeactivated(WindowEvent e) { //设置为活动窗口是触发
// TODO 自动生成的方法存根
System.out.println("windowDeactivated-->取消窗口选中");
} } //主类
//Function : MyWindowListener_demo
public class MyWindowListener_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
f.addWindowListener(new MyWindowEventHandle());
f.setSize(440, 320); //设置窗体
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener; import javax.swing.JFrame; //=================================================
// File Name : WindowAdapter
//------------------------------------------------------------------------------
// Author : Common // 类名:myWindowEventHandle
// 属性:
// 方法:
class myWindowEventHandle extends WindowAdapter{
//此时可以根据自己的需要覆写方法
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
} //主类
//Function : WindowAdapter
public class WindowAdapter { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
f.addWindowListener(new myWindowEventHandle());
// f.addWindowListener(new WindowAdapter(){
//
// public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// // TODO 自动生成的方法存根
// System.out.println("windowClosing-->窗口关闭");
// System.exit(1);
// }
// }); f.setSize(440, 320); //设置窗体
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField; //=================================================
// File Name : ActionListener_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:myWindowEventHandle
// 属性:
// 方法:
class ActionHandle{
private JFrame frame = new JFrame("窗口"); //定义一个窗口对象
private JButton but = new JButton("显示按钮"); //定义一个按钮
private JLabel lab = new JLabel(); //定义一个标签
private JTextField jtf = new JTextField(10); //定义一个文本域
private JPanel pan = new JPanel();
public ActionHandle(){
Font font = new Font("Serief",Font.ITALIC+Font.BOLD,28);
lab.setFont(font);
lab.setText("设置显示的文字");
but.addActionListener(new ActionListener(){ //采用匿名内部类
public void actionPerformed(ActionEvent arg0){
if(arg0.getSource() == but){ //判断触发源是否是标签
lab.setText(jtf.getText()); //将文本文字设置到标签
}
}
}); frame.addWindowListener(new WindowAdapter(){ //加入动作监听
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
frame.setLayout(new GridLayout(2,1)); //定义窗体布局,2行1列
pan.setLayout(new GridLayout(1,2)); //定义窗体布局,1行2列
pan.add(jtf);
pan.add(but);
frame.add(pan);
frame.add(lab);
frame.pack();
frame.setVisible(true);
}
} //主类
//Function : ActionListener_demo
public class ActionListener_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new ActionHandle();
} }
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener; import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea; //=================================================
// File Name : KeyListener_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:myWindowEventHandle
// 属性:
// 方法:
class MyKeyHandle extends JFrame implements KeyListener{ private JTextArea text = new JTextArea(); // public MyKeyHandle(){
super.setTitle("键盘");
JScrollPane scr = new JScrollPane(text); //加入滚动条
scr.setBounds(5, 5, 300, 200);
super.add(scr);
text.addKeyListener(this);
super.setSize(310, 210);
super.setVisible(true);
} @Override
public void keyTyped(KeyEvent e) { //输入内容
// TODO 自动生成的方法存根
text.append("输入的内容是:"+e.getKeyChar()+"\n");
} @Override
public void keyPressed(KeyEvent e) { //键盘按下
// TODO 自动生成的方法存根
text.append("键盘:"+KeyEvent.getKeyText(e.getKeyCode())+"键按下\n");
} @Override
public void keyReleased(KeyEvent e) { //键盘释放
// TODO 自动生成的方法存根
text.append("键盘:"+KeyEvent.getKeyText(e.getKeyCode())+"键松开\n");
} } //主类
//Function : KeyListener_demo
public class KeyListener_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyKeyHandle();
} }
使用适配器
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea; //=================================================
// File Name : KeyListener_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:myWindowEventHandle
// 属性:
// 方法:
//class MyKeyHandle extends JFrame implements KeyListener{
//
// private JTextArea text = new JTextArea(); //
//
// public MyKeyHandle(){
// super.setTitle("键盘");
// JScrollPane scr = new JScrollPane(text); //加入滚动条
// scr.setBounds(5, 5, 300, 200);
// super.add(scr);
// text.addKeyListener(this);
// super.setSize(310, 210);
// super.setVisible(true);
// }
//
// @Override
// public void keyTyped(KeyEvent e) { //输入内容
// // TODO 自动生成的方法存根
// text.append("输入的内容是:"+e.getKeyChar()+"\n");
// }
//
// @Override
// public void keyPressed(KeyEvent e) { //键盘按下
// // TODO 自动生成的方法存根
// text.append("键盘:"+KeyEvent.getKeyText(e.getKeyCode())+"键按下\n");
// }
//
// @Override
// public void keyReleased(KeyEvent e) { //键盘释放
// // TODO 自动生成的方法存根
// text.append("键盘:"+KeyEvent.getKeyText(e.getKeyCode())+"键松开\n");
// }
//
//} class MyKeyHandle extends JFrame{ private JTextArea text = new JTextArea(); // public MyKeyHandle(){
super.setTitle("键盘");
JScrollPane scr = new JScrollPane(text); //加入滚动条
scr.setBounds(5, 5, 300, 200);
super.add(scr);
text.addKeyListener(new KeyAdapter() { @Override
public void keyTyped(KeyEvent e) {
// TODO 自动生成的方法存根
text.append("输入的内容是:"+e.getKeyChar()+"\n");
}
});
super.setSize(310, 210);
super.setVisible(true);
super.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0){
System.exit(1);
}
});
} } //主类
//Function : KeyListener_demo
public class KeyListener_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyKeyHandle();
} }
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; import javax.swing.JFrame; //=================================================
// File Name : MouseListener_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:myWindowEventHandle
// 属性:
// 方法:
class MyMouseMotion extends JFrame{
public MyMouseMotion(){
super.setTitle("键盘"); super.addMouseMotionListener(new MouseMotionListener() { @Override
public void mouseMoved(MouseEvent e) {
// TODO 自动生成的方法存根
System.out.println("鼠标移动到窗体");
} @Override
public void mouseDragged(MouseEvent e) {
// TODO 自动生成的方法存根
System.out.println("鼠标拖拽到窗体:X"+e.getX()+",Y"+e.getY());
}
} );
super.setSize(310, 210);
super.setVisible(true);
super.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
} } //主类
//Function : MouseListener_demo
public class MouseListener_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyMouseMotion();
} }
Java——Swing事件处理的更多相关文章
- Java Swing事件处理机制
Java Swing的事件处理机制 Swing GUI启动后,Java虚拟机就启动三个线程,分别为主线程,事件派发线程(也是事件处理线程)和系统工具包线程. 主线程 :负责创建并显示该程序的初始界面: ...
- 编写Java程序,使用Swing事件处理机制实现用户登录和英雄信息显示
返回本章节 返回作业目录 需求说明: 使用Swing事件处理机制实现用户登录和英雄信息显示 实现思路: 创建LoginView类,该类用于显示登录界面,为登录按钮添加ActionListener事件, ...
- java Swing组件和事件处理(二)
1.BoxLayout类可以创建一个布局对象,成为盒式布局,BoxLayout在javax.Swing border 包中,java.swing 包提供一个Box类,该类也是一个类,创建的容器称作一 ...
- Java Swing 使用总结(转载)
随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1. GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在 ...
- Java swing: 实现ActionListener监听器的三种途径
Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的 强大工具.Java Swing组件自动产生各种事件来响应用户行为.如当用户点击按钮或选择菜单项目时,Swing ...
- Java Swing 图形界面开发(目录)
Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...
- Java Swing图形界面开发
本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...
- 基于Java swing+mysql+eclipse的【图书管理系统】
本项目为Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考. CSDN赞助下载:https://download.csdn.net ...
- 恶补Java Swing线程刷新UI机制(由浅到深的参考大佬博文)
1. java中进度条不能更新问题的研究 感谢大佬:https://blog.csdn.net/smartcat86/article/details/2226681 为什么进度条在事件处理过程中不更新 ...
随机推荐
- Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总
在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网 ...
- 51nod 1101换零钱(背包)
N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元. 例如:5分钱换为零钱,有以下4种换法: 1.5个1分 2.1个2分3个1分 3.2个 ...
- poi-处理excel的单元格日期数据
poi处理excel时,当excel没有明确指明是哪个类型的数据时,poi很可能处理单元格的日期数据时就有可能是一串数字.而使用java程序基本无法转换 以下为对poi处理日期情况一些方面的处理(不是 ...
- mysql查看数据库
进入MySQL Command line client下查看当前使用的数据库: mysql>select database(); mysql>status; mysql>show t ...
- (转)CSS的Sprites技术
Css Sprites 技术逐渐流行,各大网站上都可以看到它的身影. 但从本质上,Css Sprites 只是 Css 技术的一个使用小窍门,初学者也能快速上手. Css Sprites 简单解释: ...
- body中设置-webkit-scrollbar竖向滚动条,在手机浏览器上无效
暂时无解,如果是chrome的PC模式,滚动条是没有的,但如果是手机模式,滚动条会出现,且无法设置其样式,滚完后会自动消失. 如果设置div这些块元素,完全没问题.
- Jenkins+CCNET的另类部署图
最近公司的CI系统升级,从CCNET换成Jenkins进行搭建,原因是Jenkins支持所有语言,不再是单一的dotnet语言支持,并且以节点的形式能做分布式自动构建,非常节省配置成功. 而且从MSB ...
- MongoDB: CURD操作
>> 创建:·db.foo.insert({"bar":"baz"}) //如果文档中没有"_id"键会自动增加一个·db.fo ...
- 虚拟机:Python虚拟机的基本了解
探索某个东西,我们需要知道这个东西是用来干什么的,能给我们带来什么,解决了什么样的问题,有什么优缺点等等:简要了解了一下Python虚拟机的特征: 目前有几个疑问: 1.对象 · Python通过对象 ...
- RabbitMQ代码第一步
Hello RabbitMQ 终于到了使用.Net连接RabbitMQ的时候了,我们首先新建一个控制台应用程序,在程序包管理控制器中NuGet中下载 RabbitMQ. Install-Package ...