201711671202《Java程序设计》第九周学习总结

教材学习内容总结

1.

能够产生事件的对象都可以称为事件源

事件源通过调用相应的方法将某个对象注册为自己的监视器

为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体中重写借口中所有方法,那么当事件源发生事件时,监视器就自动调用被类重写的接口方法

2.

文本框、按钮、菜单项、密码框和单选按钮都可以触发ActionEvent事件,即都可以成为ActionEvent事件的事件源

使用方法addActionListener(ActionListener listen)将实现ActionListener接口的类的实例注册为事件源的监视器

该接口中只有一个方法public void actionPerformed(ActionEvent e)

当监视器调用actionPerformed(ActionEvent e)方法时,ActionEvent类事先创建的事件对象就会传递给该方法的参数e

public Object getSource()该方法是从Event继承的方法,ActionEvent事件对象调用该方法可以获取发生ActionEvent事件的事件源对象的引用

public String getActionCommand()ActionEvent对象调用该方法可以获取发生ActionEvent事件时,和该事件相关的一个“命令”字符串

3.

文本区getDocument()方法返回所维护的文档

能触发DocumentEvent事件的事件源使用addDocumentListener(DocumentListener listen)将实现DocumentListener接口的类的实例注册为事件源的监视器

4.

事件源注册监视器的方法是addMouseListener(MouseListener listener)

getModifiers()获取鼠标的左键或右键。鼠标的左键和右键分别使用InputEvent类中的常量BUTTON1_MASK和BUTTON3_MASK来表示

mousePressed(MouseEvent)负责处理在组件上按下鼠标键触发的鼠标事件

mouseReleased(MouseEvent)负责处理在组件上释放鼠标键触发的鼠标事件

mouseEntered(MouseEvent)负责处理鼠标进入组件触发的鼠标事件

mouseExited(MouseEvent)负责处理鼠标离开组件触发的鼠标事件

mouseClicked(MouseEvent)负责处理在组件上单击鼠标键触发的鼠标事件

使用MouseMotionListener接口可以处理以下两种操作触发的鼠标事件:在事件源上拖动鼠标;在事件源上移动鼠标

mouseDragged(MouseEvent)负责处理拖动鼠标触发的鼠标事件

mouseMoved(MouseEvent)负责处理移动鼠标触发的鼠标事件

5.

组件可以使用addFocusListener(FocusListener listener)注册焦点事件监视器

创建监视器的类必须要实现FocusListener接口,该接口有两个方法:

public void focusGained(FocusEvent e),

public void focusLost(FocusEvent e)

当组件从无输入焦点变成有输入焦点触发FocusEvent事件是,监视器调用类实现借口中的focusGained(FocusEvent e)方法;当组件从有输入焦点变成无输入焦点触发FocusEvent事件时,监视器调用类实现接口中的focusLost(FocusEvent e)方法

一个组件也可调用public Boolean requestFocusInWindow()方法可以获得输入焦点

6.

使用KeyListener接口处理键盘事件,该接口中有如下3个方法:

public void keyPressed(KeyEvent e)

public void keyTyped(KeyEvent e)

public void KeyReleased(KeyEvent e)

某个组件使用addKeyListener方法注册监视器之后,当该组件处于激活状态时,用户按下键盘上某个键时,触发KeyEvent事件,监视器调用keyPressed方法;用户释放键盘上按下的键是,触发KeyEvent事件,监视器调用keyReleased方法。

用KeyEvent类的public int getKeyCode()方法,可以判断哪个键被按下、敲击或释放,getKeyCode()方法返回一个键码值。也可以用KeyEvent类的public char geyKeyChar()判断哪个键被按下、敲击或释放,getKeyChar()方法返回键上的字符

7.

调用setDefaultCloseOperation(int operation)方法设置窗口的关闭方式,参数Operation取JFrame的static常量

如果准备处理窗口事件,必须事先保证窗口的默认关闭方式为DO_NOTHING_ON_CLOSE(什么也不做)

WindowEvent创建的事件对象调用getWindow()方法可以获取发生窗口事件的窗口

8.

如果一个对话框是有模式的对话框,那么当对话框处于激活状态时,只让程序响应对话框内部的事件,而且将阻塞其他线程的执行,用户不能再激活对话框所在程序中的其他窗口,直到该对话框消失不可见。无模式对话框处于激化状态时,能再激活其他窗口,也不阻塞其他线程的执行

9.

可以用javax.swing包中的JOptionPane类的静态方法:

public static void showMessageDialog(Component parentComponent,String message,String title,int messageType)创建一个消息对话框,其中参数parentComponent指定对话框可见时的位置,如果parentComponent为null,对话框会在屏幕的正前方显示出来;如果组件parentComponent不空,对话框在组件parentComponent的正前面居中显示。message指定对话框上显示的消息,title指定对话框的标题,messageType取值是JOptionPane中的类常量:INFORMATION_MESSAGE,WARNING_MESSAGE,ERROR_MESSAGE,

QUESTION_MESSAGE,PLAIN_MESSAGE

10.

JOptionPane类的静态方法:

public static void showInputDialog(Component parentComponent,Object message,String title,int messageType)创建一个输入对话框,其中参数parentComponent指定输入对话框所依赖的组件,输入对话框会在该组件的正前方显示出来,如果parentComponent为null,输入对话框会在屏幕的正前方显示出来,参数message指定对话框上提示的消息,参数title指定对话框的标题,参数messageType可取的有效值是JOptionPane中的类常量:INFORMATION_MESSAGE,WARNING_MESSAGE,ERROR_MESSAGE,

QUESTION_MESSAGE,PLAIN_MESSAGE

11.

JOptionPane类的静态方法:

public static int showConfirmDialog(Component parent Component,Object message,String title,int optionType)得到一个确定对话框,其中参数parentComponent指定确认对话框可见时的位置,确认对话框会在参数parentComponent指定的组件的正前方显示出来,如果parentComponent为null,确认对话框会在屏幕的正前方显示出来,参数message指定对话框上提示的消息,参数title指定确定对话框的标题,参数optionType可取的有效值是JOptionPane中的类常量:YES_NO_OPTION,YES_NO_CANCEL_OPTION,

OK_CANCEL_OPTION

当确认对话框消失后,showConfirmDialog方法会返回下列整数值之一:JOptionPane.YES_OPTION, JOptionPane.NO_OPTION, JOptionPane.CANCEL_OPTION, JOptionPane.OK_OPTION,     JOptionPane.CLOSED_OPTION

12.

可以用javax.swing包中的JColorChooser类的静态方法:

public static Color showDialog(Component component,String title,Color initialColor)创建一个有模式的颜色对话框,其中参数component指定颜色对话框可见时的位置,颜色对话框在参数component指定的组件的正前方显示出来,如果component为null,颜色对话框在屏幕的正前方显示出来。title指定对话框的标题,initialColor指定颜色对话框返回的初始颜色。用户通过颜色对话框选择颜色后,如果单击“确定”按钮,那么颜色对话框将消失,showDialog()方法返回对话框所选择的颜色对象。如果单击“撤销”按钮或关闭图标,那么颜色对话框将消失,showDialog()方法返回null。

13.

对话框是一个容器,它的默认布局是BorderLayout,对话框可以添加组件,实现与用户的交互操作

对话框可见时,默认地被系统添加到显示器屏幕上,因此不允许将一个对话框添加到另一个容器中

JDialog()构造一个无标题的初始不可见的对话框,对话框依赖一个默认的不可见的窗口,该窗口有Java运行环境提供

JDialog(JFrame owner)构造一个无标题的初始不可见的无模式的对话框,owner是对话框所依赖的窗口,如果owner取null,对话框依赖一个默认的不可见的窗口,该窗口由Java运行环境提供

14.

要想构造一个树组件,必须事先为其创建结点对象。任何实现MutableTreeNode接口的类创建的对象都可以成为树上的结点。

每一个结点关联着一个描述该结点的文本标签和图像图标

DefailtMutableTreeNode类的两个常用的构造方法是:

DefaultMutableTreeNode(Object userObject)

DefaultMutableTreeNode(Object userObject,boolean allowChildren)

第一个构造方法创建的结点默认可以有子结点,即它可以使用方法add()添加其他结点作为它的子结点。如果需要,一个结点可以使用setAllowsChildren(boolean b)方法来设置是否允许有子结点。两个构造方法中的参数userObject用来指定结点中存放的对象,结点可以调用getUserObject()方法得到结点中存放的对象

使用JTree的构造方法JTree(TreeNode root)创建根结点是root的树组件

15.

树组件可以触发TreeSelectionEvent事件,树使用addTreeSelectionListener(TreeSelectionListener listener)方法获得一个监视器

创建监视器的类必须实现TreeSelectionListener接口,此接口中的方法是public void valueChanged(TreeSelectionEvent e)

16.

JTable()创建默认的表格模型

JTable(int a,int b)创建a行、b列的默认模型表格

JTable(Object data[][],Object columnName[])创建默认表格模型对象,并且显示由data指定的二维数组的值,其列名由数组columnName指定

在表格中输入或修改数据后,需按回车或用鼠标单击表格的单元格确定所输入或修改的结果。当表格需要刷新显示时,让表格调用repaint方法

17.

要求创建监视器的类必须实现ActionListener接口的子接口Action

编写AbstractAction类的子类时,只要重写public void actionPerform(ActionEvent e)方法即可,该方法是ActionListener接口中的方法

按钮首先调用public final InputMap getInputMap(int condition)方法返回一个InputMap对象,其中参数condition取值JComponent类的下列static常量:

WHEN_FOCUSED(仅在敲击键盘发生同时组件具有焦点时才调用操作)

WHEN_IN_FOCUSED_WINDOW(当敲击键盘发生同时组件具有焦点时,或者组件处于具有焦点的窗口中时调用操作。注意,只要窗口中的任意组件具有焦点,就调用向此组件注册的操作)

WHEN_ANCESTOR_OF_FOCUSED_COMPONENT(当敲击键盘发生同时组件具有焦点时,或者该组件是具有焦点的组件的祖先是调用该操作)

调用方法public void put(KeyStroke keyStroke,Object actionMapKey)将敲击键盘上的某键指定为按钮的键盘操作

按钮调用方法public final ActionMap getActionMap()返回一个ActionMap对象

该对象actionmap调用方法public void put(Object key,Action action)为按钮的键盘操作指定监视器(实现敲击键盘上的键通知监视器的过程)

button.setMnemonic(‘B’)仅仅设置了按钮的快捷键是B,即用户可以用组件Alt+B代替用鼠标单击按钮(可以不涉及事件处理的问题)

18.

方法paintAll(g)将打印出该组件及其子组件。如果调用方法paint(g)将打印出该组件本身,但不打印子组件。注意如果调用方法paint(g)将打印出该组件本身的形状,但不打印组件上的其他信息,比如文字图形等

按钮_1.paintAll(g);按钮_2.paintAll(g);“按钮_2”就会被打印在“按钮_1”的上面,盖住按钮_1

方法translate(int x,int y)改变组件在打印页中打印的位置

19.

编写清单文件时,在“Mainfest-Version:”和“1.0”之间,“Main-Class:”和主类“A”之间,以及“Created-By:”和“1.6”之间必须有且只有一个空格

参数c表示要生成一个新的JAR文件,f表示要生成的JAR文件的名字,m表示文件清单文件的名字

参考资料

《java 2实用教程(第5版)》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值