JAVA学习笔记——GUI图形用户界面

1.GUI:
  Graphical User Interface(图形用户接口)。
  用图形的方式,来显示计算机操作的界面,这样更方便更直观。
 CLI:
  Command line User Interface (命令行用户接口)
  就是常见的Dos命令行操作。
  需要记忆一些常用的命令,操作不直观。
  
2.awt和swing包的概述
  java.awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。
  javax.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。

3.GUI继承体系图
这里写图片描述
  Container常用子类:Window Panel(面板,不能单独存在。)
  Window常用子类:Frame Dialog
  简单的窗体创建过程:

Frame  f = new Frame(“my window”); //创建窗体并直接设置标题
//f.setTitle("new window") ;  //设置标题
f.setLayout(new FlowLayout()); 
//f.setSize(300,400);//设置窗体大小
//f.setLocation(300,200);//设置窗体出现在屏幕的位置
f.setBounds(300,200,300,400); //设置窗体的位置和大小(x,y,width,height)
f.setVisible(true);  //设置窗体可见

4.事件监听机制
  A:事件源 事件发生的地方
  B:事件 就是要发生的事情
  C:事件处理 针对事件的处理方案
  D :事件监听 就是把事件源和事件关联起来

5.适配器设计模式
  问题:
    接口(方法太多) –实现类(仅仅使用一个方法,也得把其他方法都实现,哪怕是空实现)
  解决方案:
    接口(方法比较多) –适配器类(抽象类,实现接口,仅仅空实现) –实现类(用哪个方法重写哪个)

6.对窗口的点击操作添加监听事件方法
  A:WindowListener :用于接收窗口事件的侦听器接口
    public void addWindowListener(WindowListener l)
      此处的参数可以使用适配器类对象new WindowAdapter(){}
  B:该适配器方法有以下:
   void windowActivated(WindowEvent e) :激活窗口时调用。
   void windowClosed(WindowEvent e) :当窗口已被关闭时调用。
    void windowClosing(WindowEvent e) :窗口正处在关闭过程中时调用。
    void windowDeactivated(WindowEvent e) :停用窗口时调用。
    void windowDeiconified(WindowEvent e) :取消图标化窗口时调用。
    void windowGainedFocus(WindowEvent e) : 该 Window 被设置为聚焦 Window 时调用,聚焦 Window 意味着该 Window 或其某个子组件将接收键盘事件。
   void windowIconified(WindowEvent e) :图标化窗口时调用。
    void windowLostFocus(WindowEvent e) :该 Window 不再为聚焦 Window 时调用,不再为聚焦 Window 意味着键盘事件不再传递到该 Window 或其任意子组件。
    void windowOpened(WindowEvent e) :已打开窗口时调用。
    void windowStateChanged(WindowEvent e) : 窗口状态改变时调用。

7.对鼠标点击事件添加监听方法
  A:MouseAdapter:接收鼠标事件的抽象适配器类。
    public void addMouseListener(MouseListener l)
     此处的参数可以用鼠标适配器类new MouseAdapter(){}
  B:该适配器方法主要有
   void mouseClicked(MouseEvent e) :鼠标按键在组件上单击(按下并释放)时调用。
   void mouseDragged(MouseEvent e) :鼠标按键在组件上按下并拖动时调用。
    void mouseEntered(MouseEvent e) :鼠标进入到组件上时调用。
    void mouseExited(MouseEvent e) :鼠标离开组件时调用。
    void mouseMoved(MouseEvent e) :鼠标光标移动到组件上但无按键按下时调用。
    void mousePressed(MouseEvent e) :鼠标按键在组件上按下时调用。
    void mouseReleased(MouseEvent e) :鼠标按钮在组件上释放时调用。
    void mouseWheelMoved(MouseWheelEvent e) :鼠标滚轮旋转时调用。

8.对文本框添加监听事件
  A:KeyAdapter:接收键盘事件的抽象适配器类。
    public void addKeyListener(KeyListener l)
      此处的参数可以用按键适配器类new KeyListener (){}
  B:该适配器方法如下:
     void keyPressed(KeyEvent e) :按下某个键时调用此方法。
     void keyReleased(KeyEvent e) :释放某个键时调用此方法。
     void keyTyped(KeyEvent e) :键入某个键时调用此方法。

9.菜单
  这里写图片描述
  //菜单之间的关系
  menu.add(menuitem) ;
  menubar.add(menu) ;
  //菜单栏不是用的add
  frame.setMenuBar(menubar) ;
  

用AWT来生成图形化用户界面时,组件和容器的概念非常重要。组件是各种各样的,封装了图形系统的许多最小单位,例如按钮、窗口等等;而容器也是组件,它的最主要的作用是装载其它组件,但是象Panel这样的容器也经常被当作组件添加到其它容器中,以便完成杂的界面设计。布局管理器是java语言与其它编程语言在图形系统方面较为显著的区别,容器中各个组件的位置是由布局管理器来决定的,共有5种布局管理器,每种布局管理器都有自己的放置规律。事件处理机制能够让图形界面响应用户的操作,主要涉及到事件源、事件、事件处理者等三方,事件源就是图形界面上的组件,事件就是对用户操作的描述,而事件处理者是处理事件的。因此,对于AWT中所提供的各个组件,我们都需要了解该组件经常发生的事件以及处理该事件的相应的监听器接口。 对于AWT而言,Java 1.1Java 1.2最大的改变就是Java中所有的库。当Java 1.1版纳入新的事件模型和Java Beans时,平台被设置--现在它可以被拖放到可视化的应用程序构建工具中,创建GUI组件。另外,事件模型的设计和Bean无疑对轻松的编程和可维护的代码都非常有益。对于Swing组件而言,交叉平台GUI编程可以变成一种有意义的尝试。 本章主要介绍了一些Swing的新特性,它和AWT相比有哪些不同的方法和应用,着重阐述了Swing的特色组件和容器,并以图形的形式给出具体描述,同时介绍了组件的分,使用Swing的基本规则,各种容器面板以及布局管理器,由于Swing是Java2新增特性, 它对图形化用户界面提供了庞大而复杂的库支持,要能做到开发和实用,还需做大量工作,利用API的帮助,逐步深入摸索其规律,从组件和容器入手,掌握其特色方法。从另一角度来看,Swing和AWT无论是布局管理器还是事件处理机制,以及对一些重量容器的保留和使用,都是我们非常熟悉的内容,其原理我们已在AWT一章做了详细介绍,因此,AWT作为Swing的基础,是需要很好掌握的,希望大家能在不断设计应用中摸索出新方法和新技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值