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 为什么进度条在事件处理过程中不更新 ...
随机推荐
- 屠龙之路_转角遇到服务器大魔王_FourthDay
Day4:将View打败后,View还送了屠龙团一个信物.于是在今天的旅途中,少年们在遇到View的其他兄弟时,以此信物将他们收于麾下,并借助他们的力量打败了服务器大魔王." Fightin ...
- ClassLoader 详解及用途
ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. 1.1 几个相关概念Class ...
- 分布式学习材料Distributed System Prerequisite List
接下的内容按几个大类来列:1. 文件系统a. GFS – The Google File Systemb. HDFS1) The Hadoop Distributed File System2) Th ...
- ubuntu下启动、关闭tomcat,查看tomcat运行日志
启动:一般是执行sh tomcat/bin/startup.sh 停止:一般是执行sh tomcat/bin/shutdown.sh查看:执行ps -ef |grep tomcat 输出如下 *** ...
- Shell命令_Cron使用
chkconfig crond on d表示damon,后台进程 chkconfig --list | grep crond crontab [选项] 选项: -e: 编辑crontab定时任务 -l ...
- Linux_RPM_查询
一.查询是否安装 rpm -q 包名 选项: -q 查询(query) 查询所有已安装的RPM包 rpm -qa -a 所有(all) 二.插叙软件包的详细信息 rpm -qi ...
- Jenkins_多项目构建(一):单独建立一个项目按顺序执行其它job
有A,B,C三个Job,A为服务或web Job,B,C为A依赖的其它Job 单独建个Job,按B,C,A的顺序进行编译 1.安装插件:Multijob plugin 2.新建A,B,C三个J ...
- 【BZOJ 1468】Tree 点分治
点分治$O(nlogn)$ 坚持到月考结束后新校就剩下我一个OIer,其他人早已停课了,老师估计懒得为我一个人开机房门,让我跟班主任说了一声,今晚就回到了老校,开始了自己都没有想到会来的这么早的停课生 ...
- ffmpeg 转成MP3采样率8000
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- IOS实现动画的几种简单方法
1.使用 NSTimer 来实现 [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(setNeed ...