也許你以前使用過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小應用程序卻不能。