第6章_Java用户界面类和Applet.pptVIP

  • 10
  • 0
  • 约3.44万字
  • 约 121页
  • 2018-02-15 发布于江西
  • 举报
第6章_Java用户界面类和Applet

第6章 Java用户界面类和Applet 第6章 Java用户界面类和Applet 6.1 Java AWT类 6.2 Java Swing类 6.3 Java Applet 本章小结 本章内容 抽象窗口工具包 :是 API为Java 程序提供的建立图形用户界面的工具集。 Swing :是完全用Java编写的复杂而灵活的图形用户界面的组件。 Java Applet :是用Java 语言编写的一些直接嵌入到页面中的并且由支持Java的浏览器解释执行能够产生特殊效果的程序 。 GUI程序概述 Java1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上,以实现Sun公司提出的口号“一次编写,随处运行”。 在Java1.2中,Sun公司推出了新的用户界面库:Swing。相对AWT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。 但是,Swing并没有代替AWT。在Java1.1中,AWT事件处理模型有了根本改变。 Swing和AWT的关系 在GUI编程中,使用什么样的GUI组件固然很重要,但是采用什么事件处理模型同样也很重要。Java1.0中,AWT的事件处理模型时很不完善的。Java1.1中使用新的AWT事件处理模型,在此之后,未作变动。因此,书中仍使用1.1版的事件处理模型。 Swing并不时完全取代了AWT,Swing只是使用更好的GUI组件(如JButton)代替AWT中相应的GUI组件(如Button),并且增加了一些AWT中原来所没有的GUI组件。并且,Swing仍然使用AWT1.1的事件处理模型。 虽然现在AWT组件仍得到支持,但是建议在你的应用程序中尽量使用Swing组件和1.1版的事件模型。 6.1 Java.awt 包 Java.awt包中提供了GUI设计所使用的类、接口以及用于创建基于事件、带窗口的Java程序和Applet的异常处理类。 AWT包括标准的GUI(图形用户界面)组件,如窗口、对话框、事件处理、布局管理器、接口以及异常处理器。Java.awt包主要包括三个概念:组件(Component)、容器(Container)、布局管理器(LayoutManager)。 6.1 Java.awt类 组件和容器 容器:是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其它组件和容器。 布局管理器:每个容器都有一个布局管理器,当容器需要对某个组件进行定位或判断其大小尺寸时,会调用其对应的布局管理器。 如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:setLayout(null)。 容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。如果试图使用Java 语言提供的setLocation(),setSize(),setBounds() 等方法,则都会被布局管理器覆盖。 6.1 Java.awt 包 布局管理器 FlowLayout :Panel,Applet的缺省布局管理器。其组件的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个组件先添加到容器中第一行的最左边,后续的组件依次添加到上一个组件的右边,如果当前行已放置不下该组件,则放置到下一行的最左边。 BorderLayout :Window,Frame和Dialog的缺省布局管理器。把容器分成5个区域:North,South,East,West和Center,每个区域只能放置一个组件。 GridLayout:使容器中各个组件呈网格状布局,平均占据容器的空间。 CardLayout:能够帮助用户处理两个以至更多的成员共享同一显示空间的情况,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面。 例如,使用AWT的第一个GUI程序 import java.awt.*; //FirstGUI.java public class FirstGUI { private Frame g; private Button b1; private Button b2; public static void main(String args[]) { FirstGUI that = new Gui(); that.go(); } public void go() { g = new Frame(GUI example); g.setLayout(new FlowLayout()); //设置布局管理器

文档评论(0)

1亿VIP精品文档

相关文档