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 为什么进度条在事件处理过程中不更新 ...
随机推荐
- Beta项目冲刺 --第五天
忙里偷得半日闲-- 队伍:F4 成员:031302301 毕容甲 031302302 蔡逸轩 031302430 肖阳 031302418 黄彦宁 会议内容: 1.站立式会议照片: 2.项目燃尽图 3 ...
- git 高级命令
git bisect 运行git bisect 通常是为了找出某个导致版本库产生倒退或bug的特殊提交 例如:你的版本库已经从一个已知的"好"状态过渡到一个已知的"坏&q ...
- eclipse中如何远程java debug配置
1.Window中修改startup.bat文件,在顶部添加如下: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE - ...
- windows-msconfig
弹出输入框,输入命令msconfig 打开系统配置,查看相关引导信息,关闭开机启动等
- lucene-查询query->BooleanQuery “与或”搜索
BooleanQuery也是实际开发过程中经常使用的一种Query.它其实是一个组合的Query,在使用时可以把各种Query对象添加进去并标明它们之间的逻辑关系. BooleanQuery本身来讲是 ...
- jquery-通过js编写弹出窗口
本文转载 本文主要是通过js动态控制div的高度,css控制浮动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
- Lock读写锁技术的妙用
1.面试题1:三个线程读,三个线程写同一个数据 public class ReadWriteLockTest { public static void main(String[] args) { fi ...
- NameNode & DataNode
NameNode类位于org.apache.hadoop.hdfs.server.namenode包下. NameNode serves as both directory namespace man ...
- Oracle技术嘉年华
只有把一件事情做好,才会获得更多的机会! 短期的努力,成效并不明显,但是自己的成长一定能够感受到! 嘉年华的收获: 遗憾: 总结: 展望:
- [NOIP2015] 普及组
金币 模拟 #include<iostream> #include<cstdio> using namespace std; int main(){ int k,n; scan ...