下面有关JAVA swing的描述,错误的是(C)

A.swing是一个基于Java的跨平台MVC框架,使用单线程模式

B.swing是为了 解决awt存在的问题而开发的包,以awt为基础

C.swing优化了awt,运行速度比awt快

D.swing是一个基于组件的框架,所有的组件都是从javax.swing.JComponent类继承而来

解析:

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 


  工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event

  用Swing创建图形界面步骤:

  (1)导入Swing包

  (2)选择界面风格

  (3)设置顶层容器

  (4)设置按钮和标签

  (5)将组件放到容器上

  (6)为组件增加边框

  (7)处理事件

  (8)辅助技术支持

  1。导入Swing包

  下面语句导入Swing包

  import javax.swing.*;

  大部分Swing程序用到了AWT的基础底层结构和事件模型,因此需要导入两个包:

  import java.awt.*;

  import java.awt.event.*;

  如果图形界面中包括了事件处理,那么还需要导入事件处理包:

  import javax.swing.event.*;

  2.选择界面风格

  Swing允许选择程序的图形界面风格常用的有java风格,windows风格等


  下面的代码用于选择图形界面风格,这里选择的是跨平台的Java界面风格。


<span style="font-size:14px;">try {
   UIManager.setLookAndFeel( 
   UIManager.getCrossPlatformLookAndF   eelClassName( ));
 } 
  catch (Exception e) { }</span>



 


  ( 3) 设置顶层容器

  图形界面至少要有一个顶级Swing容器

  顶级Swing容器为其它Swing组件在屏幕上的绘制和处理事件提供支持

  常用的顶级容器:

  JFrame(框架):表示主程序窗口

  JDialog(对话框):每个JDialog对象表示一个对话框,对话框属于二级窗口

  JApplet(小程序):在浏览器内显示一个小程序界面

  一个框架包括边界、菜单栏、工具栏、状态栏,以及中间占主要部分的窗格

  窗格也可以看作是一种面板,但它是框架的一个组成部分

  组件不会直接放到框架上,而是放在若干个面板上,这些面板再放到窗格上


  用框架对象的getContentPane()函数来获得窗格,再调用窗格的add()函数放置面板


public static void main(String[ ]args){
    JFrame frame=new JFrame("SwingApplication");
     JPanel panel1=new JPanel();
     frame.getContentPane().add(panel1,BorderLayout.CENTER);
    ......//添加其他组件
     frame.pack();frame.setVisible(true);
}

 AWT和Swing之间的区别:
       1)AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢。
       2)AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。

       在实际应用中,应该使用AWT还是Swing取决于应用程序所部署的平台类型。例如:
       1)对于一个嵌入式应用,目标平台的硬件资源往往非常有限,而应用程序的运行速度又是项目中至关重要的因素。在这种矛盾的情况下,简单而高效的AWT当然成了嵌入式Java的第一选择。

       2)在普通的基于PC或者是工作站的标准Java应用中,硬件资源对应用程序所造成的限制往往不是项目中的关键因素。所以在标准版的Java中则提倡使用Swing, 也就是通过牺牲速度来实现应用程序的功能。