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事件处理的更多相关文章

  1. Java Swing事件处理机制

    Java Swing的事件处理机制 Swing GUI启动后,Java虚拟机就启动三个线程,分别为主线程,事件派发线程(也是事件处理线程)和系统工具包线程. 主线程 :负责创建并显示该程序的初始界面: ...

  2. 编写Java程序,使用Swing事件处理机制实现用户登录和英雄信息显示

    返回本章节 返回作业目录 需求说明: 使用Swing事件处理机制实现用户登录和英雄信息显示 实现思路: 创建LoginView类,该类用于显示登录界面,为登录按钮添加ActionListener事件, ...

  3. java Swing组件和事件处理(二)

    1.BoxLayout类可以创建一个布局对象,成为盒式布局,BoxLayout在javax.Swing  border 包中,java.swing 包提供一个Box类,该类也是一个类,创建的容器称作一 ...

  4. Java Swing 使用总结(转载)

    随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在 ...

  5. Java swing: 实现ActionListener监听器的三种途径

    Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的 强大工具.Java Swing组件自动产生各种事件来响应用户行为.如当用户点击按钮或选择菜单项目时,Swing ...

  6. Java Swing 图形界面开发(目录)

    Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...

  7. Java Swing图形界面开发

    本文转自xietansheng的CSDN博客内容,这是自己见过的最通俗易懂.最适合快速上手做Java GUI开发的教程了,这里整合一下作为自己以后复习的笔记: 原文地址:https://blog.cs ...

  8. 基于Java swing+mysql+eclipse的【图书管理系统】

    本项目为Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考. CSDN赞助下载:https://download.csdn.net ...

  9. 恶补Java Swing线程刷新UI机制(由浅到深的参考大佬博文)

    1. java中进度条不能更新问题的研究 感谢大佬:https://blog.csdn.net/smartcat86/article/details/2226681 为什么进度条在事件处理过程中不更新 ...

随机推荐

  1. Windows平台下安装Hadoop

    今天参照这个网址(http://www.cnblogs.com/kinglau/archive/2013/08/20/3270160.html)安装了下,前面七步没有问题. 到第八步出问题了,后来看了 ...

  2. json写入new_hello文件

    #写入new文件 import json dic = {'name':'alex'} i = 8 s = 'hello' l = [11,22] f = open("new_hello&qu ...

  3. MVC 理解小谈

    1. 如何理解MVC MVC 是一种经典的设计模式,全名为 Model-View-Controller,即 模型-视图-控制器. 其中,模型 是用于封装数据的载体,其本质是一个普通的 Java Bea ...

  4. Android应用崩溃后异常捕获并重启并写入日志

    在Android开发时,有时会因为一些异常导致应用报错,偶尔会因为错误 而崩溃,导致用户体验下降,为了解决这问题,我们就要对这样的异常处理: 代码如下: CrashHandler.java impor ...

  5. Javascript写俄罗斯方块游戏

    俄罗斯方块这个游戏也做了移动端的兼容, 这个游戏难点是怎么翻转方块, 自己实现的方式是把方块放到一个二维数组, 然后逆时针旋转二维数组. 也有别的方法,比如直接用一个全局变量代表一个方向, 翻转的时候 ...

  6. mysql-函数CASE WHEN 语句使用说明

    mysql数据库中CASE WHEN语句. case when语句,用于计算条件列表并返回多个可能结果表达式之一. CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以 ...

  7. 资源: StaticResource, ThemeResource

    StaticResource ThemeResource 示例1.演示“StaticResource”相关知识点Resource/StaticResourceDemo.xaml <Page x: ...

  8. 【POJ 1523】SPF(割点)

    儿子数大于1的树根或者 Low[v] >= DFN[u]的非树根节点v 就是割点. #include <cstdio> #include <cstring> const ...

  9. Struts2拦截器模拟

    前言: 接触Struts2已经有一段时间,Student核心内容就是通过拦截器对接Action,实现View层的控制跳转.本文根据自身理解对Struts2进行一个Java实例的模拟,方便大家理解! 示 ...

  10. fastq to tasta using linux shell script

    #!/bin/bash usage() { echo " "; echo "############################################### ...