站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题Swing与AWT小应用程序的区别

Swing与AWT小应用程序的区别

摘要: 也许你以前使用过AWT进行图形用户界面(GUI)的设计,感觉如何呢?现在JAVA2提供了Swing包......
<iframe align=right marginWidth=0 marginHeight=0 src="http://www.chinabyte.com/tag/cont_flash_software.html" frameBorder=0 width=360 scrolling=no height=300></iframe>   也许你以前使用过AWT进行图形用户界面(GUI)的设计,感觉如何呢?现在JAVA2提供了Swing包,向大家展示了更丰富的功能,使用它设计的界面会更友好,现在我们就来看一下。

  以前你设计小应用程序会扩展Applet(java.applet.Applet);现在为了使用Swing包,你要扩展JApplet(javax.swing.JApplet)让我们先来看一个扩展JApplet小应用程序的实例,然后再分析二者的区别。

  程序源代吗如下:

<table cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0> <tr> <td>(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);
 }
} </td></tr></table>

  有几点需要注意:

  1、程序的最后一行不是必须的,因为JApplet类使用BorderLayout的一个实例做为其内容窗格的布局管理器,而BorderLayout的缺省约束条件是BorderLayout.CENTER,所以程序的最后一行不是必须的。

  2、Applet的缺省的布局管理器是FlowLayout,而FlowLayout的缺省约束条件是FlowLayout.LEFT,这是二者最显著的区别之一。

  3、JApplet是只包含一个组件的容器,这个组件就是JRootPane的一个实例,而JRootPane包含了一个称作内容窗格的容器。

  4、“内容窗格”,它包含与特定的小应用程序有关的所有内容。即是说,小应用程序必须把所有的组件添加到内容窗格中,而不是把它们直接添加到小应用程序中。

  5、我们不应该直接为小应用程序设置布局管理器。

  6、JApplet的实例可以有一个菜单栏,它是由setJMenuBar方法指定的,而AWT小应用程序却不能。




↑返回目录
前一篇: 用Java绘制K线图
后一篇: 用JBuilder实现类似Visual Studio的宏扩展功能