GUI

GUI介绍
   图形化编程涉及到2个java包:
java.awt.*;
javax.swing.*;类中以J开头的意味着这个类继承了java.awt包下的同名类,并进行了重写.
基本步骤:
1.选择一个容器(用来容纳其他图形组件的特殊的图形组件);
2.定义一种布局方式;
图形组件分两种:
单一组件,如按钮,文本框;
容器组件,如窗口(JFrame),对话框(JDialog),面板(JPanel);

Window 顶层容器(这个容器不用套在其他容器的内部就可以显示出来)
JFrame JDialog 都是Window的子类.JFrame可以独立存在,JDialog需要依赖其他组件而存在.
JPanel不是顶层容器,一般套在另外的容器类内部,以对这个容器进行划分.
container layout(布局管理器)
FlowLayout(流动布局)它把放入这个容器里的组件 按从大到小,从左到右的顺序排序,如果改变容器大小,它会动态的调整排序
BorderLayout(边框布局)将容器划分为东南西北中五个方位,这5个方位可以存放5个组件,不放就是空
BoxLayout(箱式布局)堆箱子一样,把所有的组件都罗列起来
GridLayout(网格布局)把一个容器分解成若干行,若干列的容器,把所有的组件就放到单元格里 单元格大小是均等的.
CardLayout(卡片式布局)放置若干组组件,但每次只显示一组.
(网格布局,但每个单元格不是等大的.)
组件介绍
   AbstractButton:

JButton(普通按钮)
JToggleButton(2位按钮) -- JCheckBox(复选框)
JToggleButton(2位按钮) -- JRadioButton(单选框)

JMenuItem 菜单项 -- JMenu 菜单
JMenuItem 菜单项 -- JCheckBoxMenuItem 复选菜单
JMenuItem 菜单项 -- JRadioButtonMenuItem 单选菜单

JTextComponer:
JTextPane
JEditorPane 文本编辑 相当于小型的浏览器 可以解析html文件
JTextFiled -- JPasswordField能显示的是纯文本(统一的字体和颜色)
JTextArea 能显示的是纯文本(统一的字体和颜色)

JLabel 标签
JToolTip 提示说明文本框
JProgressBar 进度条
JMenu     普通式菜单
JPopupMenu   弹出式菜单 右键显示的菜单
JTable 二维表
JTree 树
JScrollPane 可滚屏面板
JFileChooser  文件选择器
JColorChooser 颜色选择器
JComboBox  下拉列表框
JList   列表框
JSpinner  上下滚动的数字
JSlider  滑块
事件处理
    事件源   图形组件
事件对象
事件监听器 事件源 执行事件,监听器捕获这种事件并进行处理 事件源.add事件监听器
事件对象的类型 与 事件监听器是一一对应的关系,有一种事件就有一种监听器,每一种监听器只能监听一种事件
事件是多种多样的, 如  按钮的单击事件,按钮的双击事件,鼠标的滑过事件,鼠标的点击事件......
一个事件源对应多个监听器
一个监听器也可以作为多个事件源的监听器


Action ActionListener  actionPerformed(ActionEvent) //点击事件
所有的按钮都可以出发这个事件  JTextTield 输入分本后的回车 也能触发这个事件
Item ItemListener itemStateChanged(ItemEvent) //列表修改时间
当用户改变列表中的条目的时候,将触发这个事件
Mouse MouseListener mousePressed(MouseEvent) 鼠标压下
Mouse MouseListener mouseReleased(MouseEvent) 鼠标释放
Mouse MouseListener mouseEntered(MouseEvent) 鼠标进入
Mouse MouseListener mouseExited(MouseEvent) 鼠标移出    MouseAdapter 监听的类
Mouse MouseListener mouseClicked(MouseEvent) 鼠标点击
Mouse motion MouseMotionListener mouseDragged(MouseEvent) 鼠标拖拽
Mouse motion MouseMotionListener mouseMoved(MouseEvent) 鼠标移动
Key KeyListener keyPressed(KeyEvent) 键盘压下
Key KeyListener keyPeleased(KeyEvent) 键盘释放
Key KeyListener keyTyped(KeyEvent) 键盘敲击
Focus FocusListener focusGained 获取焦点
Focus FocusListener focusLost 失去焦点
Adjustment AdjustmentListener adjustmentValueChanged 滚动条的位置发生变化时
JSlider ChangeListener 滑块被改变 在java.swing.event
window WindowListener windowClosing(WindowEvent) 窗口关闭
window WindowListener windowClosing(WindowEvent) 窗口打开
window WindowListener windowClosing(WindowEvent)
window WindowListener windowClosing(WindowEvent) window WindowListener windowClosing(WindowEvent)
window WindowListener windowClosing(WindowEvent)
Component  组件类时间监听   ComponentListener  组件移动 组件隐藏 组件改变大小 组件显示

Container   容器类组件的监听 放入组件  删除组件
windowstate    WindowStateListener  窗口状态监听器
Text Text TextListener   textValueChanged  文本改变

你可能感兴趣的:(编程,swing,浏览器,J#)