Java学习笔记(Javase毕向东版视频)九

GUI:图形用户界面,Java不常用于创建桌面应用,所以用的比较少

一、概述:

二、Frame演示:

三、事件监听机制

 1 import java.awt.Button;
 2 import java.awt.FlowLayout;
 3 import java.awt.Frame;
 4 import java.awt.TextField;
 5 import java.awt.event.KeyAdapter;
 6 import java.awt.event.KeyEvent;
 7 import java.awt.event.MouseAdapter;
 8 import java.awt.event.MouseEvent;
 9 import java.awt.event.WindowAdapter;
10 import java.awt.event.WindowEvent;
11
12
13 public class FrameDemo {
14     public static void main(String[] args){
15         demo();
16     }
17
18     public static void demo() {
19         //1、创建Frame对象,会开启一个线程
20         Frame f=new Frame("First Frame");
21         //2、设置窗体的大小和位置
22         f.setSize(500, 400);
23         f.setLocation(400, 150);
24         //3、使用流式布局
25         f.setLayout(new FlowLayout());
26         //4、添加其他组件
27         Button btn=new Button("按钮");
28         TextField tf=new TextField(15);
29         f.add(tf);
30         f.add(btn);
31         eventDemo(f,btn,tf);
32         //5、显示窗体
33         f.setVisible(true);
34     }
35
36     public static void eventDemo(Frame f,Button btn,final TextField tf){
37         /*可以给组件对象添加监听器,参数是处理事件的对象,可以对不同的事件进行不同的处理
38          * WindowAdapter是窗体监听器的适配器对象
39          * ActionListener是活动监听器对象
40          */
41         f.addWindowListener(new WindowAdapter(){
42             @Override
43             public void windowClosing(WindowEvent e){
44                 System.exit(0);
45             }
46         });
47 //        btn.addActionListener(new ActionListener(){
48 //            @Override
49 //            public void actionPerformed(ActionEvent e){
50 //                System.exit(0);
51 //            }
52 //        });
53         //鼠标监听器
54         btn.addMouseListener(new MouseAdapter(){
55             private int count=1;
56             @Override
57             public void mouseEntered(MouseEvent e)
58             {
59                 tf.setText(""+count++);
60             }
61
62             @Override
63             public void mouseExited(MouseEvent e)
64             {
65                 tf.setText(""+count++);
66             }
67
68         });
69         //键盘监听器
70         tf.addKeyListener(new KeyAdapter()
71         {
72             //键盘上的键有些是显示字符的,但是有些是控制键
73             @Override
74             public void keyPressed(KeyEvent e)
75             {
76 //                System.out.println(e.getKeyChar()+":"+e.getKeyCode());
77                 int keyCode=e.getKeyCode();
78                 if(!(keyCode>=KeyEvent.VK_0&&keyCode<=KeyEvent.VK_9||keyCode==37||keyCode==39||keyCode==8)){
79                     //阻止默认事件的执行
80                     e.consume();
81                     System.out.println("必须是数字");
82                 }
83             }
84         });
85     }
86 }

Frame和事件简述

时间: 2024-12-29 11:55:52

Java学习笔记(Javase毕向东版视频)九的相关文章

Java学习笔记(Javase毕向东版视频)七 常用API对象三

一.泛型:简单说就是对对象类型进行限定的技术 public class GenericDemo { public static void main(String[] args){ /*泛型作为1.5版之后的新技术,分两步使用 * 1.在类名之后用<类型参数>,这里就像函数中的普通参数一样命名即可 * 2.在生成对象和返回该对象参数时需要明确具体的类型,相当于传入实参 * 上面说的是泛型类,除此之外,泛型还可以用于类中方法和接口 */ GenericTest<Person> gt=n

Java学习笔记(Javase毕向东版视频)二.2

5.运算符:变量的意义就在于可以进行运算,运算需要用运算符来表示,分为以下几种 1 class test 2 { 3 public static void main(String[] args) 4 { 5 //赋值运算符 =(赋值) +=,-=,*=,/= 6 int a=1234,b; 7 8 /*算数运算符 +(加) -(减) *(乘) /(除) %(取余) ++(自增) --(自减) +(字符串连接) 9 *1.除法运算结果自动转换为int型. 10 *2.取余结果的正负取决于被除数 1

Java学习笔记(Javase毕向东版视频)三.2

5.继承 1 //Java中所有对象都显式/隐式的继承子Object类 2 class fu{ 3 fu(){ 4 System.out.println("fu..."+getNum()); 5 show(); 6 } 7 private int num=3; 8 public void setNum(int num){ 9 this.num=num; 10 } 11 public int getNum(){ 12 return num; 13 } 14 public void sho

Java学习笔记(Javase毕向东版视频)三

1.面向过程思想,强调的是过程(即动作,函数):面向对象思想,强调的是对象. 2.类与对象关系:类是对事物的描述(属性和行为-方法),对象是类的实例.对象通过new生成.属性也称成员变量;方法也称成员函数. 1 /*Java代码都是在类中的,以下是Java的两种不同类:区别在于是否有main方法. 2 * 有main函数的可以独立运行,且main函数是程序的入口 3 * 如果没有main函数,就像其他面向对象的语言一样,通过new一个实例来运行 4 */ 5 6 public class Obj

Java学习笔记(Javase毕向东版视频)十

网络编程: 一.osi和TCP协议对照: 二.通讯三要素: 三.InetAddress对象简述: 1 import java.net.InetAddress; 2 import java.net.UnknownHostException; 3 4 public class IpClassDemo 5 { 6 public static void main(String[] args) throws UnknownHostException{ 7 demo(); 8 } 9 10 public s

Java学习笔记(Javase毕向东版视频)八

IO流:就是input/output输入/输出流. 一.字节流操作文件的便捷类:FileWriter和FileReader 1 import java.io.FileWriter; 2 import java.io.IOException; 3 4 public class FileWriterDemo { 5 private static final String LINE_SEPARATOR=System.getProperty("line.separator"); 6 publi

Java学习笔记(Javase毕向东版视频)四

1.简介.进程和线程:简单的说就是进程负责为程序开辟内存空间,线程负责具体的执行单元(执行路径). 一个进程中可以有多个执行路径,称为多线程.CPU一次只能执行一个进程,但是一个进程内部可以有多个线程在执行. 最早的多进程,多线程效果其实是CPU进行快速切换的效果,由于切换速率很快用户不能发现.现在可以使用多CPU来实现. 参考:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 2.线程状态图 3.线程的创建:进程

Java学习笔记(Javase毕向东版视频)六 常用API对象二

1.基本数据类型对象包装类:见下图 1 public class Test { 2 public static void main(String[] args){ 3 Demo(); 4 toStringDemo(); 5 jdkDemo(); 6 } 7 8 private static void jdkDemo() { 9 //注意:在1.5之后的版本中可以使用下面的形式 简化书写 ,这是版本升级的一个方面 10 Integer i=3; //自动装箱,jdk是Integer i = Int

Java学习笔记(Javase毕向东版视频)五 常用API对象一

常用API:字符串操作:String类,StringBuffer类,StringBulider类 字符串是最重要的数据类型之一,处理字符串也是一种语言的基本工作. 1.String类: 1 public class StringDemo { 2 public static void main(String[] args) 3 { 4 StringDemo1(); 5 } 6 protected static void StringDemo1() 7 { 8 /*java中有两种创建String对