JavaGUI-零基础学习

GUI

  1. AWT (抽象窗口工具集 ) AbstractWindow Toolkit
    1. 为简单的applet程序设计
    2. AWT没有提供足够的桌面端的程序所需的特性
  2. Swing
    1. Swing是AWT的扩展和功能加强
    2. 是构建java图形界面标准的API
  3. SWT (Standard Widget Toolkit)
    1. 是一个开源的GUI编程框架
    2. SWT是IBM为它的Eclipse集成开发环境而开发的图形用户界面工具
  4. GUI(Graphics User Interface 图形用户界面)编程。
    1. GUI的各种元素(如:窗口,按钮,文本框等)由Java 类来实现。
    2. 使用AWT所涉及的类一般在java.awt包及其子包中。
    3. Container和Component是AWT中的两个核心类。
  5. Component
    1. Java的图形用户界面的最基本组成部分是Component ,Component 类及其子类的对象用来描述以图形化的方式显示在屏幕上并能与用户进行交互的GUI元素,例如,一个按钮,一个标签等。
  6. Container
    1. Container是Component子类,Container子类对象可以“容纳”别的Component对象。
    2. Container对象可使用方法add(..)向其中添加其他Component对象。
    3. 有两种常用的Containter:
      • Window: 其对象表示自由停泊的顶级窗口
      • Panel: 其对象可作为容纳其它Component对象,但不能独立存在,必须被添加到其它Containner中(如Window 或 Applet)
  7. Frame
    1. Frame是Window的子类,由Frame或其子类创建的对象为一个窗体。
  8. Panel
    1. Panel对象可以看成可以容纳Component的空间
    2. Panel对象可以拥有自己的布局管理器
    3. Panel类拥有从其父类继承来的
      • 设定位和大小:setBounds(int x,int y,int width,int height)
      • 设置窗体大小:setSize(int width,int height)
      • 设置定位定位:setLocation(int x,int y)
      • 设置背景颜色:setBackground(Color c)
      • 设置布局方式:setLayout(LayoutManager mgr)
  9. Awt提供了5种布局管理器类
    1. FlowLayout
      • 是Panel类的默认布局管理器。
      • 流布局用于安排有向流中的组件,这非常类似于段落中的文本行。
    2. BorderLayout
      • 这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。
      • 创建按钮的同时创建布局方式。
      • 示例:getContentPane().add(button,BorderLayout.NORTH);
    3. GridLayou
      • 网格布局管理器
    4. CardLayout
      • 它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。
    5. GridBagLayout
      • 它不要求组件的大小相同便可以将组件垂直、水平或沿它们的基线对齐。每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域。
  10. ActionListener
    1. 用于接收操作事件的侦听器接口。
    2. 对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。
  11. ActionListener使用示例:
    1. 		i1.addActionListener(new ActionListener() {
      			@Override
      			public void actionPerformed(ActionEvent e) {
      				//具体要使用的方法信息....
      			}
      		});

       

  12. 匿名类
    1. 可以这么理解,new ActionListener(){} 相当于动态的实现了接口,在内存中建立了一个ActionListener对象,区别就是这个对象的实现类就直接在另一个代码中定义了,而不是独立的文件。
    2. 我们一般称这种类为匿名类,当然,匿名类不止实现接口这一种。
    3. 相当于在内存中直接产生了一个接口的实现并引用这个内存对象。动态的代码。
  13. 内部类(嵌套类)
    1. 用处
      • 可以方便的访问包装类成员。
      • 可以更清楚的组织逻辑,防止不应该被其它类访问的类进行访问。
    2. 何时使用
      • 该类不允许或者不需要其它类进行访问的时候。
  14. 类的访问修饰符都有几个?
    1. public、缺省、protected、private
    2. 其中protected、private访问修饰符是在内部类中使用。
  15. 内部类示例
    1. public class Family{
      	
      	public void m1(){
      		Boy boy = new Boy();
      		boy.getMoney();
      	}
      
      	//内部类
      	private class Boy{
      		public void getMoney(){
      			System.out.println("$$$$");
      		}
      	}
      }

       

  16. Swing常用组件:
    1. JTextField
      • 是一个轻量级组件,它允许编辑单行文本。
    2. JPasswordField
      • 是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。
    3. JButto
      • 按钮
    4. JRadioButtn
      • 实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。
    5. JComboBox
      • 将按钮或可编辑字段与下拉列表组合的组件。用户可以从下拉列表中选择值,下拉列表在用户请求时显示。
    6. ButtonGroup
      • 此类用于为一组按钮创建一个多斥作用域。
    7. JFileChooser
      • 为用户选择文件提供了一种简单的机制
      • 常用方法:showOpenDialog()弹出一个“Open File”文件选择器的对话框。
    8. JScrollPane
      • 提供轻量级组件的 scrollable 视图。
      • JScrollPane 管理视图、可选的垂直和水平滚动条以及可选的行和列标题视图。
      • 常用方法:setViewportView(Component view)
        1. 创建一个视图(如果有必要)并设置其视图。
  17. 常用事件:
    1. addActionListener接口
      • 用于接收操作事件的侦听器接口。
    2. KeyListener接口
      • 用于接收键盘事件(击键)的侦听器接口。
      • 旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章