1、Swing和Awt的区别是什么?
①Swing是一个基于Java的跨平台MVC框架。使用单线程模式。
②Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的
③Swing是一个基于组件的框架,所有的组件都是从javax.swing.JComponent类继承来的
④ AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢。
⑤ AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。
在实际应用中,应该使用AWT还是Swing取决于应用程序所部署的平台类型。
2、什么是顶层容器、中间容器和原子组件,并举例说明。
顶层容器(即Window组件):JFrame、JApplet、JDialog、Jwindow,创建初始界面,为其他组件提供一个容器,以构建满足用户需求的操作界面.
中间容器:JPanel、JScrollPane、JSplitOPane、JToolBar;这些容器可以充当载体,但也是不可以独立显示的组件,必须依附在顶层容器内;
基本组件:实现人机交互的组件,如JButton、JComboBox、JList、JMenu、JTextField。
Ø JFrame:类似于Windows系统中窗口形式的应用程序;
Ø JDialog:和JFrame类似,用于设计对话框;
Ø JApplet:用于设计可以嵌入在网页中的小程序。
3、实现事件处理有哪三种方法?
1、事件适配器
Java为一些Listener接口提供了适配器类,这样,可以通过继承适配器类实现有关方法,而无关方法不用实现,大大减少了代码量。
2、内部类实现事件处理
使用内部类的原因如下:
(1)一个内部类的对象可访问外部类的成员方法和变量,包括私有的成员;
(2)非常容易实现;
(3)内部类编写时间驱动程序很方便。
3、匿名类
使用匿名类更加方便,匿名就是连名字也没有,只是显式地调用一个无参的父类的构造方法。
4、简述java的事件处理机制。什么是事件源?什么是监听者?什么是事件对象?
*事件处理,就是根据事件发生的情况进行相应的操作。
其主要参与者有两个,一个是事件源,一个是监听者。事件源发生事件(产生一个事件对象),监听者监听事件,监听到事件的发生,就做出相应的处理。
首先记得导入java.awt.Event.包
确定事件类型 —> 实现该类型接口 —> 事件处理方法(重写接口方法)—> 事件源注册监听(事件源添加监听者)
①事件源。事件发生的地方,由于事件源的某项属性或状态发生了改变(比如BUTTON被单击、TEXTBOX的值发生改变等等)导致某项事件发生。换句话说就是生成了相应的事件对象。因为事件监听器要注册在事件源上,所以事件源类中应该要有盛装监听器的容器(List,Set等等)。
②事件监听器。实现java.util.EventListener接口,注册在事件源上,当事件源的属性或状态改变时,取得相应的监听器调用其内部的回调方法。
③在事件发生时,用于记录事件相关信息的对象。
5、动作事件的事件源包括什么?
•ActionEvent (对应按钮点击、 菜单选择、选择列表项或在文本框中 ENTER);
•AdjustmentEvent (用户调节滚动条);
•ItemEvem (用户从复选框或列表框中选择一项)。