SWING與AWT小應用程序的區別
SWING與AWT小應用程序的區別,也許你以前使用過AWT進行圖形用戶界面(GUI)的設計,感覺如何呢?現在JAVA2提供了Swing包,向大家展示了更豐富的功能,使用它設計的界面會更友好,現在我們就來看一下。
以前你設計小應用程序會擴展Applet(java.applet.Applet);現在為了使用Swing包,你要擴展JApplet(javax.swing.JApplet)讓我們先來看一個擴展JApplet小應用程序的實例,然后再分析二者的區別。
程序源代嗎如下:(JAppletTest.java)
- import javax.swing.*;
- import java.awt.*;
- import java.event.*;
- public class JAppletTest extends JApplet {
- public void init() {
- Container contentPane = getContentPane();
- Icon icon = new ImageIcon("swing.gif", "A GIF on a swing");
- JLabel label = new JLabel("Swing!", icon, SwingConstants.CENTER);
- contentPane.add(label, BorderLayout.CENTER);
- }
- }
有幾點需要注意:
1、程序的***一行不是必須的,因為JApplet類使用BorderLayout的一個實例做為其內容窗格的布局管理器,而BorderLayout的缺省約束條件是BorderLayout.CENTER,所以程序的***一行不是必須的。
2、Applet的缺省的布局管理器是FlowLayout,而FlowLayout的缺省約束條件是FlowLayout.LEFT,這是二者最顯著的區別之一。
3、JApplet是只包含一個組件的容器,這個組件就是JRootPane的一個實例,而JRootPane包含了一個稱作內容窗格的容器。
4、“內容窗格”,它包含與特定的小應用程序有關的所有內容。即是說,小應用程序必須把所有的組件添加到內容窗格中,而不是把它們直接添加到小應用程序中。 5、我們不應該直接為小應用程序設置布局管理器。
6、JApplet的實例可以有一個菜單欄,它是由setJMenuBar方法指定的,而AWT小應用程序卻不能。
AWT 是基于本地方法的C/C++程序,其運行速度比較快;Swing是基于AWT 的Java程序,其運行速度比較慢。以上就是SWING與AWT小應用程序的區別。
【編輯推薦】