Java(六)-组件&事件处理(概括)
2017-03-09 13:43
337 查看
概述
java.awt包提供设计GUI的组件类(包含Container类,Component类) javax.swing包提供更强大的组件类(包含JComponent类) Component类的子类/间接子类创建的对象是组件 Container类的子类/间接子类创建的对象是容器(本身也是组件) add()方法将组件添加到容器 remove(Component c)方法移除c组件 removeAll()方法移除容器中的全部组件 validate()方法保证组件的显示
窗口
实例 | 类 |
---|---|
窗口 | JFrame |
菜单条 | JMenubar |
菜单 | JMenu |
菜单项 | JMenuItem |
图标 | ImageIcon |
不允许将一个窗口添加到另一个容器中
窗口只能添加一个菜单条
菜单本身也是一个菜单项
对话框
有模式(激活时,只响应对话框内部事件) 无模式(激活时,能再激活其它窗口,也不阻塞其他线程)
消息对话框(有模式)
用JOptionPane类的showMessageDialog方法创建
输入对话框(有模式)
用JOptionPane类的showInputDialog方法创建
确认对话框(有模式)
用JOptionPane类的showConfirmDialog方法创建
颜色对话框(有模式)
用JColorChooser类的showDialog方法创建
自定义对话框
用JDialog的子类来建立,默认布局是BorderLayout,可添加组件,不允许将对话框添加到另一个容器
组件
1.常用组件
组件 | 类 | 组件 | 类 |
---|---|---|---|
文本框 | JTextField | 标签 | JLabel |
文本区 | JTextArea | 选择框 | JCheckBox |
按钮 | JButton | 单选按钮 | JRadioButton |
下拉列表 | JComboBox | 密码框 | JPasswordField |
2.树组件
构造:javax.swing.tree包的DefaultMutableTreeNode类可以构造结点(
任何实现MutableTreeNode接口的类创建的对象都可以成为结点);JTree类构造根节点是root的树组件
事件:
注册监视器:addTreeSelectionListener(TreeSelectionListener listen)
TreeSelectionListener接口:有valueChanged(TreeSelectionEvent e)方法
3.表格组件
【最复杂,以后再补】4.打印组件
调用getToolkit()返回系统提供的Toolkit对象的引用(当有组件时系统自动提供Toolkit子类的对象)让Toolkit对象调用getPrintJob()返回一个PrintJob对象
让PrintJob对象调用getGraphics()获得Graphics对象
让Graphics对象调用paintAll(g)/paint(g)打印组件(总是从左上角开始打印)
可让Graphics对象调用translate(int x,int y)改变打印位置
常用容器
容器 | 类 | 用法 | 备注 |
---|---|---|---|
面板 | JPanel | 默认布局FlowLayout | |
滚动窗格 | JScrollPane | new JScrollPane(Component c) | 通过滚动条观看组件 |
拆分窗格 | JSplitPane | JSplitPane(int a,Component b,Component c) | 可分水平拆分和垂直拆分 |
分层窗格 | JLayeredPane | add(Jcomponent com,int layer) | 重叠,分为5层 |
常用布局
布局 | 备注 |
---|---|
FlowLayout | 是JPanel型容器的默认布局,按顺序从左向右,一行满后换行,间隙5像素,默认居中排列 |
BorderLayout | 是Window型容器的默认布局,空间分为东西南北中,每个区域只能放置一个组件,可以嵌套 |
CardLayout | 组件层叠放入,依次向下 |
GridLayout | 把容器划分为m×n的网格区域 |
BoxLayout | 在javax.swing.border包中,组件排列在一行/列,只有一行/列 |
null | 可以准确定位容器的位置和大小 |
处理事件
监视器可用窗口,也可用匿名类1. ActionEvent事件
事件源:文本框、按钮、菜单项、密码框、单选按钮注册监视器:addActionListener(ActionListener listen)
ActionListener接口:在java.awt.event包中,只有一个actionPerformed(ActionEvent e)方法
2. ItemEvent事件
事件源:选择框、下拉列表注册监视器:addItemListener(ItemListener listen)
ItemListener接口:在java.awt.event包中,只有一个itemStateChanged(ItemEvent e)方法
3. DocumentEvent事件
事件源:文本区所维护的文档内容产生变化注册监视器:addDocumentListener(DocumentListener listen)
DocumentListener接口:在java.swing.event包中,有三个方法:
public void changedUpdate(DocumentEvent e)
public void removeUpdate(DocumentEvent e)
public void insertUpdate(DocumentEvent e)
4. MouseEvent事件
事件源:任何组件注册监视器:addMouseListener(MouseListenr listen)
MouseListenr接口:
按下 mousePressed(MouseEvent)
释放 mouseRelesed(MouseEvent)
单击 mouseClick(MouseEvent)
进入 mouseEntered(MouseEvent)
退出 mouseExited(MouseEvent)
MouseMotionListenr接口:
拖动 mouseDragged(MouseEvent)
移动 mouseMoved(MouseEvent)
5.焦点事件
事件源:任何组件注册监视器:addFocusListener(FocusListener listen)
FocusListener接口:
focusGained(FocusEvent e)
focusLost(FocusEvent e)
6.键盘事件
事件源:键盘操作注册监视器:addKeyListener(KeyListener listen)
KeyListener接口:
keyPressed(KeyEvent e)
keyType(KeyEvent e)
keyReleased(KeyEvent e)
7.窗口事件
事件源:所有Window子类创建的对象注册监视器:addWindowListener(WindowListener listen)
WindowListenr接口:
激活 windowActivated
非激活 windowDeactivated
正关闭 windowClosing
关闭后 windowClosed
图标化 windowIconified
撤销图标化 windowDeiconified
打开时 windowOpened
WindowAdapter适配器:代替接口来处理,不用给出所有方法实现
相关文章推荐
- 2015 7 3 java核心技术卷一 7-10章 图形,事件处理,Swing组件和应用程序部署
- Java设计模式_观察者模式&事件处理机制
- core java 8~9(GUI & AWT事件处理机制)
- core java 8~9(GUI & AWT事件处理机制)
- 【Java学习笔记】48:盒内组件的支撑和ActionEvent事件处理
- Java笔记(10)-图形界面设计、Swing、窗口、JFrame、常用组件和布局、处理事件、MVC结构、对话框、GUI
- "Java中可复用事件处理的设计与实现"代码
- 18. JAVA 图形界面 Part 2(JTextComponent、事件处理、单选按钮、复选框、列表框、下拉列表框、菜单组件、文件选择) ----- 学习笔记
- Java 组件及事件处理实训 实训1: 编写一个窗体程序,能够对文本区中的文字设置字体和大小。
- Java 组件及事件处理实训 实训2:编写一个窗体程序,用于计算一元二次方程
- java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件
- java实验六 组件与事件处理 (无脑实验系列)
- 黑马程序员--Java学习19--AWT组件及事件处理
- 11级_Java_曹建波5.03 GUI的组成&GUI事件处理
- 疯狂JAVA讲义---第十一章(中):AWT编程-常用组件和事件处理
- 读Java事件处理机制
- 为您的Java应用程序添加退出事件处理
- Java 事件处理实例
- 使用handleEvent()方法,action()方法和mouseDown()方法处理事件的JAVA Application程序.
- java的事件处理