1.Swing与AWT最大的区别是什么?
Awt是使用操作系统本提供组件风格来构建java的GUI组件,所以跨平台时且是风格不一致原始的包,不能够跨平台。Swing是弥补了awt类包的不足,有自己的显示风格这样在跨平台时,显示风改会保持一致,是一个可以扩展的包,可以跨平台,swing是awt的扩展包。它们最大的区别是,Swing组件的实现没有采用任何本地代码,完全由Java语言实现,具有平台独立的API并且具有平台独立的实现。
2.Swing组件有哪些特性?
Swing组件的多样化、采用分离模型结构(separable model architecture)、可设置组件外观感觉(look and Feel)、支持高级访问方式、支持键盘代替鼠标的操作、设置边框、使用图标。
3.Swing中,能够直接向JFrame中直接添加组件吗?如何向JFrame中添加组件构造GUI?
不能直接添加。
方法一:用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childCompontent).
方法二:建立一个JPanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板。
4.AWT中支持几种布局管理器?它们各自的风格是怎么样的?
FlowLayout——流式布局管理器
BorderLayout——边界布局管理器
GridLayout——网格布局管理器
CardLayout——卡片布局管理器
GridBagLayout——网格包布局管理器
BoxLayout——箱式布局管理器
无布局管理器
5.设计GUI的一般步骤
(1)引入Swing包及其他程序包
(2)选择GUI的外观风格L&F
(3)创建并设置窗口容器
(4)创建与添加Swing组建
(5)显示顶层容器,将整个GUI显示出来
6.试述委托方式(监听器方式)的事件处理机制。
事件处理机制中有3类对象:事件(如按下键盘,点击鼠标等)、事件源(组件)、事件处理器(处理代码)
事件监听机制中由事件源,事件,事件监听器三类对象组成 处理流程如下:
Step 1:为某个事件源(组件)设置一个监听器,用于监听用户操作
Step 2:用户的操作,触发了事件源的监听器
Step 3:生成了对应的事件对象
Step 4:将这个事件源对象作为参数传给事件监听器
step 5:事件监听器对事件对象进行判断,执行对应的事件处理器(对应事件的处理方法)
事件监听机制是一种委派式的事件处理机制,事件源(组件)事件处理委托给事件监听器 当 事件源发生指定事件时,就通知指定事件监听器,执行相应的操作
8.Window组件可以使用哪些类型的监听器?
窗口激活、去活、打开、关闭、最小化、从图标回复等
9.如何设置组件的颜色和字体?
使用UIManager设置Swing字体 - 按钮字体颜色设置,背景颜色设置。