GUI(略)

来源:互联网 发布:淘宝茵曼旗舰店 编辑:程序博客网 时间:2024/06/05 15:40
软件的交互方式:
  1. 控制台的交互方式
  2. 图形化界面的交互方式 

java使用到的图形类主要在java.awt 与javax.swing包中。
java.awt中使用的图形类都是依赖于系统 的图形库的。

javax.swing包使用到的图形类都是sun自己实现,不需要依赖系统的图形库。


GUI API包含的类分为三个部分:组件类(component class) 容器类(container class)和辅助类(helper class)

在java中所有的图形类都被称作组件类。

======================================================================
组件的类别:

  • Container容器组件      容器(Container)是一个特殊的组件,该组件可以通过add()添加其他组件
    • Panel面板     面板不能单独使用,必须在顶层窗口中使用
    • window
      • Frame窗体
      • Dialog对话框——FileDialog文件对话框
  • 非容器组件
    • Button
    • Label
    • Checkbox
    • TextComponent
      • TextArea
      • TextField
======================================================================
FileDialog(Dialog parent,String title, int mode);  
parent:对话框的所有者
tiltle:对话框的标题
mode:load(打开) 、 save(保存)
JFrame(框架)

JoptionPane对话框:消息对话框,警告对话框,错误对话框,输入对话框,确认对话框

JButtion普通按钮
JRadioButton单选按钮
JCheckBox复选框
JLabel标签
JTextField文本域
JTextArea文本区域
JComboBox组合框
JList 列表框
JmenuBar菜单条

菜单组件
菜单条(MenuBar) 、 菜单(Menu) 、 菜单项(MenuItem)
菜单条可以添加菜单
菜单可以添加菜单项
复选菜单:首先菜单添加菜单 , 菜单添加菜单项。

布局管理器
Java的GUI组件都放置在容器中,他们的位置是由容器的布局管理器来管理的。布局管理就是用于指定组件的摆放位置的。
使用setLayout() 方法在容器中设置布局管理器

FlowLayout(流式布局管理器)   摆放的风格:一排一排摆放

注意事项:

  1. 流式布局管理器默认情况是居中对齐的。
  2. panel默认的局部管理器就是FlowLayout

GridLayout(表格布局管理器)

注意事项: 如果表格数量不够使用时,默认会多加一列

BorderLayout(边框布局管理器)  摆放的风格: 上北 、 下南 、 左西、 右东 , 中 

注意事项:

  1. 使用Borderlayout添加组件的时候,如果没有指定组件的方位,那么默认添加到中间的位置上。
  2. 使用BorderLayout的时候,如果东南西北那个方向没有对应 的组件,那么中间位置的组件就会占据其空缺的位置。
  3. 窗体默认的布局管理器就是Borderlayout.

CardLayout(卡片布局管理器)  例:扑克牌

========================================================================

事件源————监听器————事件————处理方案


能够创建一个事件并触发该事件的组件称为源对象。例如由于按钮能够点击, 那么按钮就是一个源对象,按钮被点击就是一个事件。

当源对象触发了一个事件,监听器(Listener)会来处理这个事件

事件: 当发生了某个事件的时候,就会有相应处理方案

Java对组件都有对应的事件监听器,和添加事件监听器方法

鼠标事件监听器

键盘事件监听器


事件监听机制小结

一:确定事件源(容器或组件)
二:注册监听器
通过事件源对象的addXXXListener()方法将监听器对象注册到该事件源上。
三:监听器对象
注册监听器时,需要指定监听器对象。
以参数的形式进监听器对象传递给addXXXListener()
监听器对象是XXXListener的子类对象或者XXXAdapter的子类对象。
监听器对象一般用匿名内部类来表示。(简化书写)
在覆盖方法的时候,方法的参数一般是XXXEvent类型的变量接收。
事件触发后会把事件打包成对象传递给该变量。(其中包括事件源对象。通过getSource()或者getComponent()获取。)
四:常见的事件监听器
WindowListener 主要用于监听窗口
ActionListener 主要用于用监听组件对象的单击动作
MouseListener 鼠标监听器
KeyListener 监听键盘
…….
五:常见的事件适配器
WindowAdapter
MouseAdapter
KeyAdapter





原创粉丝点击