Swing是新一代的图形界面工具,是一种轻量级组件,它采用纯java实现,不依赖于本地平台的图形界面。这篇文章整理了关于Java Swing面试题,有面试需要的朋友们可以学习下面的内容。
1、Swing的基本概念是什么?
答:Swing是java中的GUI工具包。是为解决AWT存在的问题而新开发的图形界面包,包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。Swing是对AWT的改良和扩展。
2、AWT和Swing之间的区别是什么?
答:(1)AWT是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的java程序,其运行速度比较慢;(2)AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。
3、哪些Swing的方法是线程安全的?
答:只有3个线程安全的方法:repaint()、 revalidate()、and invalidate()。
4、AWT和Swing实现原理的对比?
答:AWT的图形函数与操作系统提供的图形函数有着一一对应的关系。也就是说,当我们利用 AWT构件图形用户界面的时候,实际上是在利用操作系统的图形库。
不同的操作系统其图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现java语言所宣称的"一次编译,到处运行"的概念,AWT不得不通过牺牲功能来实现平台无关性。因此,AWT的图形功能是各操作系统图形功能的“交集”。因为AWT是依靠本地方法来实现功能的,所以AWT控件称为“重量级控件”。而Swing &#