Java学习笔记九
GUI:图形用户界面,Java不常用于创建桌面应用,所以用的比较少
一、概述:



二、Frame演示:
三、事件监听机制

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent; public class FrameDemo {
public static void main(String[] args){
demo();
} public static void demo() {
//1、创建Frame对象,会开启一个线程
Frame f=new Frame("First Frame");
//2、设置窗体的大小和位置
f.setSize(500, 400);
f.setLocation(400, 150);
//3、使用流式布局
f.setLayout(new FlowLayout());
//4、添加其他组件
Button btn=new Button("按钮");
TextField tf=new TextField(15);
f.add(tf);
f.add(btn);
eventDemo(f,btn,tf);
//5、显示窗体
f.setVisible(true);
} public static void eventDemo(Frame f,Button btn,final TextField tf){
/*可以给组件对象添加监听器,参数是处理事件的对象,可以对不同的事件进行不同的处理
* WindowAdapter是窗体监听器的适配器对象
* ActionListener是活动监听器对象
*/
f.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
// btn.addActionListener(new ActionListener(){
// @Override
// public void actionPerformed(ActionEvent e){
// System.exit(0);
// }
// });
//鼠标监听器
btn.addMouseListener(new MouseAdapter(){
private int count=1;
@Override
public void mouseEntered(MouseEvent e)
{
tf.setText(""+count++);
} @Override
public void mouseExited(MouseEvent e)
{
tf.setText(""+count++);
} });
//键盘监听器
tf.addKeyListener(new KeyAdapter()
{
//键盘上的键有些是显示字符的,但是有些是控制键
@Override
public void keyPressed(KeyEvent e)
{
// System.out.println(e.getKeyChar()+":"+e.getKeyCode());
int keyCode=e.getKeyCode();
if(!(keyCode>=KeyEvent.VK_0&&keyCode<=KeyEvent.VK_9||keyCode==37||keyCode==39||keyCode==8)){
//阻止默认事件的执行
e.consume();
System.out.println("必须是数字");
}
}
});
}
}
Frame和事件简述
Java学习笔记九的更多相关文章
- Java学习笔记九(泛型)
1.介绍 所谓的泛型就是将类型作为一种參数来传递.有了泛型后类型不再是一成不变的.能够通过泛型參数来指定. 能够提供程序开发的灵活性. 2.泛型类或接口的使用 泛型类声明时.与普通类没有太大的差别,仅 ...
- Java学习笔记九:Java的循环跳转语句
Java的循环跳转语句 一:Java循环跳转语句之break: 生活中,我们经常会因为某些原因中断既定的任务安排.如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛.在 J ...
- Java学习笔记(九)面向对象---模板方法设计模式
理解 在定义功能时功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么就将不确定的部分暴露出去,由该类的子类完成. 举例 需求 获取一段程序的运行时间 代码 abstra ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 多线程学习笔记九之ThreadLocal
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...
- Java学习笔记【一、环境搭建】
今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...
- java学习笔记之OOP(二)
java学习笔记二.面向对象[OOP]Object Oriented Programming 一.三大特性: 1.封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用 ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
随机推荐
- JUnit中assertEquals和assertSame方法的不同
1)提供的接口数量不完全相同. assertEquals支持boolean,long,int等等java primitiveType变量.assertSame只支持Object. 2)比较的逻辑不同, ...
- BZOJ 1577 贪心
思路:同POJ3038 http://blog.csdn.net/qq_31785871/article/details/52953214 //By SiriusRen #include <se ...
- 动态调用WebService-获取天气
string url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"; string[] args ...
- Hexo Daemon
前提 今天中午的时候发现自已网站突然不能访问了,我猜肯定是后台的hexo服务异常自动kill掉了.果然登录服务器ps -ef | grep hexo查看进程,果然发现hexo的进程不在了.由于我将输出 ...
- java web应用调用python深度学习训练的模型
之前参见了中国软件杯大赛,在大赛中用到了深度学习的相关算法,也训练了一些简单的模型.项目线上平台是用java编写的web应用程序,而深度学习使用的是python语言,这就涉及到了在java代码中调用p ...
- Floyd-Warshall 算法-- 最短路径(适合节点密集的图)
由于此算法时间复杂度为O(V³).大多数情况下不如迪杰斯特拉算法的.迪杰斯特拉算法适合于节点疏散的图. 演示样例图例如以下: Step 1 创建节点与边的最短路径结果表(直接可达关系).数 ...
- 华为荣耀3C最新版ROM的root,(4.7.1和4.8.1等等通用方法)
手头一台honor 3c的机器.应该是线刷的时候,把IMEI给刷掉了.导致移动2G卡无法上网. 刷了4.7.1或者4.8.1.尝试了全部方法都root失败了. 正好我手头有6582的代码.我想.既然系 ...
- C++模板类代码只能写在头文件?
这个问题,实际上我几年前就遇到了.最近写个模板类玩的时候,再次遇到. 当我非常仔细的将定义和实现分开,在头文件中保留了最少的依赖后,一切就绪.cpp单独编过.但是当使用的时候,就会报告所有的函 ...
- jquery源码03 (3184 , 3295) support : 功能检测
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- FileStream vs/differences StreamWriter?
https://stackoverflow.com/questions/4963667/filestream-vs-differences-streamwriter What is different ...