• 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和事件简述
  • 相关阅读:
    MySQL查询语句练习题
    Implicit declaration of function 'CC_MD5' is invalid in C99
    iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
    Xcode删除Project上层group
    NavigationBar 背景颜色,字体颜色
    iOS xcode6.0使用7.1运行程序 iphone5上下有黑条
    ITMS-SERVICES://方式安装IPA在IOS 7.1中的变化
    iOS企业开发In House ipa发布流程
    ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制
    Linux C Socket编程原理及简单实例
  • 原文地址:https://www.cnblogs.com/songfeilong2325/p/4461688.html
Copyright © 2020-2023  润新知