Java学习笔记九

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和事件简述
原文地址:https://www.cnblogs.com/songfeilong2325/p/4461688.html