zoukankan      html  css  js  c++  java
  • GUI(图形用户界面)

    一、GUI(图形用户界面)

    • GUI
      • Graphical User Interface(图形用户接口)
      • 用图形的方式,来显示计算机操作的界面,这样更方便更直观
    • CLI
      • Command line User Interface (命令行用户接口)
      • 就是常见的Dos命令行操作。
      • 需要记忆一些常用的命令,操作不直观。
    • 举例
      • 比如:创建文件夹,或者删除文件夹等
    • Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中。

    二、Awt和Swing

      java.Awt:Abstract Window Tookit(抽象窗口工具包),需要调用本地系统方法实现功能。属于重量级控件。

      java.Swing:在AWT基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了可移植性,属于轻量级控件。

    三、继承关系图

       |--Component

         |--Container:为容器,是一个特殊的组件

               该组件中可以通过add方法添加其他组件进来

            |--Window

                |--Frame

                |--Dialog

                    |--FileDialog

            |--Pannel

         |--Button

         |--Label

         |--Checkbox

         |--TextComponent

            |--TextArea

            |--TextField

    四、布局管理器

      1、容器中的组件的组件排放方式——布局

      2、常见的布局管理器:

      • FlowLayout(流式布局管理器)
        • 从左到右的顺序排列
      • BorderLayout(边界布局管理器)
        • 东,南,西,北,中
        • Frame默认的布局管理器
      • GridLayout(网络布局管理器)
        • 规则的矩阵
      • GardLayout(卡片布局管理器)
        • 选项卡
      • GridBagLayout(网络包布局管理器)
        • 非规则的矩阵

    五、建立一个简单的窗体

    1. Container常用子类: Window 、Pannel(面板,不能单独存在)
    2. window常用子类: Frame、 Dialog
    3. 简单的窗体的创建过程:
    Frame f = new Frame(“my window”);
    f.setLayout(new FlowLayout());
    f.setSize(500,400);//设置窗体大小
    f.setLocation(300,200);//设置窗体出现在屏幕的位置
    f.setVisible(true);

    六、事件监听机制组成

      1、将监听器注册到事件源;  监听器——事件源(组件)

      2、有监听器所监听的动作于事件源上;  外部动作——事件源

      3、产生事件对象;   事件源——事件对象

      4、将事件对象传给事件处理方式;事件对象——监听器

     事件监听机制:

    • 确定事件源(容器或者组件)
    • 通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上
    • 该方法中接受XXXListener的子类对象,或者XXXListener的子类XXXAdaper的子类对象
    • 一般用匿名内部类来表示
    • 在覆盖方法的时候,方法的参数一般是XXXEvent类型的变量接受
    • 事件源触发后会把事件打包对象传递给该变量。(其中包括事件源对象,通过getSource()或者,getComponent()获取。)

    小练习: 1、通过按钮关闭窗口  2、在窗口中通过按钮创建按钮

        3.键盘事件和鼠标事件

    七、菜单继承体系

        MenuComponent

          |--MenuBar

          |--MenuItem

            |--Menu

      先创建菜单条,再创建菜单,每一个菜单中建立菜单项

      也可以通过菜单添加到菜单中作为子菜单

      通过setMenuBar()方法,将菜单添加到Frame中

     练习: 写一个简单的记事本程序。

  • 相关阅读:
    题目:有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到第三个月后,每个月又生一对兔子,假如兔子都不死,问M个月时兔子的数量,M为键盘读入的正整数。(请用java语言作答)
    无聊游戏随笔--学院篇
    Java数组冒泡,选择,插入三种常用排序法及自带的快速排序法
    js写年月日三级下拉列表框
    查询避免Unknown column ‘xxx’ in ‘where clause’
    MyEclipse运行web程序报错,先检查这几点!
    Servlet开发之中线程安全问题
    取消Eclipse等号、分号、空格代码自动补全
    try/catch、finally语句的执行顺序测试
    02-MySQL双机热备的搭建
  • 原文地址:https://www.cnblogs.com/jesonjason/p/5228573.html
Copyright © 2011-2022 走看看