top
Loading...
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小應用程序卻不能。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗