简单了解JTable表格组件

1. JTable 表格组件

1:JTable 表格组件介绍
为清楚表示一系列数据,可以通过表格显示数据。在Swing中,表名由JTable类实现,JTable类的一个构运方法如下:

JTable(Object datal][].Object heads(l);

其中,data是一个二维数组,包含要显示的信息,heads是一个一维数组,其中的信息是列表头。在程序中使用表格,需要完成的步骤如下:
(1)创建一个JTable对象。
(2)创建一个JScrollPane对象(指定表格及水平和垂直滚动条)。
(3)将表格添加到滚动面板。
(4)将滚动面板添加到JFrame的内容窗格中。

2. 菜单组件

1:菜单组件介绍
在Swing中,菜单通过JMenuBar、JMenu和JMenultem 实现。

(1)JMenuBar:代表菜单工具栏,可以在其中添加多个Jmenu菜单条。

(2)JMenu:代表菜单条,可以在其中添加多个JMenultem菜单项。

(3)JMenultem:代表菜单项。 高级应用

创建JMenuBar、JMenu和JMenultem 实例都可以直接通过其构造方法实现,构造方法中都含有一个字符串类型参数,该参数用于指定显示在菜单上的标题。例如,创建标题为“文件”的一级菜单条,代码如下:

JMenu jmf=new JMenu(文件(File)");

而创建菜单可以通过setMnemonic()方法设置快捷方式。为“文件”一级菜单设置快捷方式为“F”,并在该字母下添加下划线,代码如下:

jmf.setMnemonic(“F°);

创建菜单的步骤如下:
(1)创建菜单工具栏JMenuBaro
(2)创建多个菜单条JMenu。
(3)创建多个菜单项JMenultem。
(4)将菜单添加至对应的菜单条中。
(5)将菜单条添加至菜单工具栏中。
(6)将菜单工具栏加入窗体类JFrame中。

3. 事件处理

1: 事件处理机制
关于事件处理机制,需要理解以下几个概念:
1.事件
事件就是指发生在界面上的用户交互行为所产生的一种效果。例如,点击鼠标左键,单击一个JButton按钮就会弹出一个对话框,单击“关闭”按钮就会关闭应用程序窗口等。
2.事件源
发生事件的对象被称为事件源,如按钮、JFrame窗口均为事件源。
3.事件监听器
负责监听事件源所发生的事件,并对各种事件做出相应的处理。
Java 中的事件处理采用委托事件处理模式。所谓事件处理模式是指由事件源产生事件,委托给一个或多个事件监听器来监听事件。当监听器监听到事件被触发时,监听器根据事件产生的类型将其转交给事件处理者(即处理的方法)来处理事件。

2: 事件和事件监听器
事件机制涉及3个成员,即事件源、事件和事件监听器,其中事件源的创建仅需要通过 new 关键字创建一个组件对象,而事件由系统提供。所以,实现事件监听器是整个事件处理的核心。
事件监听器必须实现事件监听接口,JDK中通过了大量的事件监听器接口,用于实现不同类型的事件监听器,当听不同类型的事件。Swing中使用AWT的事件处理方式,所有的事件类均为EventObject的子类。这些事件态听的接口大多定义在java.awt.event中,常用事件监听接口详见表。
下表常用事件监听接口:

接口说明
ActionListener用于接收操作事件的监听器接口。例如点击按钮、点击莱单项、文本框按回车等动作
ItemListener用于处理选项事件的监听器接口。例如选择JCheckBox、 JRadioButton、JList以及JcomboBox中的选项
KeyListener用于接收键盘事件(击键)的监听器接口

续表:

接口说明
MouseListener用于处理鼠标事件(按下、释放、单击、进入或离开)的监听器接口
TextListener接收文本事件的监听器接口,用于监听文本组件内容改变。该监听器只有一个方法:textValueChanged(TextEvente)
FocusListener接收组件上的键盘焦点事件的侦听器接口,用于监听组件收到或失去焦点

在Java中,AWT中的事件分为两大类,即低级事件和高级事件。
1.低级事件
componentEvent:组件事件,用于组件尺寸的变化和移动。

ContainerEvent:容器事件,当容器发生添加组件、删除组件时,触发该事件。

WindowEvent:窗口事件,当窗口状态发生改变,如打开、关闭、最小化时,触发该事件。

FocusEvent:焦点事件,当组件得到焦点或失去焦点时触发该事件。

KeyEvent:键盘事件,当按钮被按下、松开、单击时触发该事件。

MouseEvent:鼠标事件,当按钮被按下、松开、移动鼠标等动作时触发该事件。

2.高级事件
高级事件是基于语义的事件,它可以不与特定的动作相关联,而依赖于触发此事件的类。例如,在TextFied(文本城)中按下 Enter 盘就会触发ActionEvent 事件;在滚动条上移动滑块会触发 AdjustmentEvent事件;选中下拉列表中的某一项就会触发ItemEvent事件。
(1)ActionEvent:动作事件。当按钮、菜单项被单击,在TextField中按Enter键时触发该事件。
(2)AdjustmentEnvent:调节时间。在滚动条上移动滑块时触发该事件。
(3)**ItemEvent:**选项事件。当用户选中某项或取消选中某项时触发该事件。
(4)TextEvent事件:文本事件。当文本框、文本域中的文本发生改变时触发该事件。

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值