欢迎来到天天文库
浏览记录
ID:15497004
大小:83.50 KB
页数:36页
时间:2018-08-03
《《java简明教程》chap13》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《JAVA简明教程》chap13第十三章图形用户界面—基本概念我们已经知道,抽象视窗工具包(AWT)就是使用图形用户界面(GUI)的程序的设计工具。在Java1.0中,AWT包最初的设计目标是让程序员构建一个通用的图形用户界面,使其在所有平台上都能正常显示。但遗憾的是,这个目标并未达到。事实上,Java1.0版的AWT产生的是在各系统看来都同样欠佳的图形用户界面。除此之外,它还限制我们只能使用四种字体,并且不能访问操作系统中现有的高级GUI元素。同时,Jave1.0版的AWT编程模型也不是面向对象
2、的,极不成熟。这类情况在Java1.1版的AWT事件模型中得到了很好的改进,例如:更加清晰、面向对象的编程、遵循JavaBeans的范例,以及一个可轻松创建可视编程环境的编程组件模型。Java1.2为老的AWT添加了Java基础类(AWT),这是一个被称为“Swing”的GUI的一部分。丰富的、易于使用和理解的JavaBeans能经过拖放操作创建出能使程序员满意的GUI。Swing包的名称是javax.swing,它是Java基础类JFC(JavaFoundationClass)的一部分而不是全部
3、,完整的JFC还包括可访问的API,2DAPI和拖放API等。我们在创建图形用户界面是主要用到javax.swing和javax.swing.event这两个包,其中包括了与AWT中的类相应的组件类和事件接口。我们在本书的例程中将主要使用swing类库,但也兼用Java1.1版的AWT的类库,避免使用Java1.0的AWT库。swing类库的类名都是在AWT的类名前加一个“J”,例如Button和JButton。13.1组件和容器组件一般是指视窗中的元素,它包括容器组件和其它组件。在Java中一切
4、组件的类都是从组件类Componemt派生的。容器类Container派生了window类,它有框架Frame和对话框Dialog两个子类。在应用程序中建立一个窗口一般用Frame。swing中的组件都从JComponemt中派生。Frame、Dialog和Applet是三个底层容器,就是呈现在用户面前的“窗口”。如果我们不是创建Applet,就用Frame类来建立窗口放置其它容器和组件。其它容器还有面版Panel和滚动条ScrollPane,选项面版OptionPane。其它组件常用的有按钮Bu
5、tton,文本框TextField,单选框,复选框,列表框,组合框以及等等。构筑应用程序的界面时,先创建一个Frame类,再创建按钮等需要的组件(对象)并用add方法加入到容器中。必要的时候创建中间层的容器,先把组件安置在这些容器中,然后整体放置到窗口(Frame)中。下面的程序演示如何创建一个窗口,在其中放上若干个按钮。例1本程序演示在应用程序中建立窗口、面版和组件。///importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;cl
6、assMyPanelextendsJPanel{publicMyPanel(){btN=newJButton("North");btS=newJButton("South");btW=newJButton("West");btE=newJButton("East");btC=newJButton("Center");add(btN);add(btS);add(btW);add(btE);add(btC);}JButtonbtN,btS,btW,btE,btC;}classMyFrameextend
7、sJFrame{publicMyFrame(){setTitle("SimpleGUI");setSize(300,200);setLocation(100,100);//创建一个内容面版ContainerctPane=getContentPane();ctPane.add(newMyPanel());}}publicclassSimple1{publicstaticvoidmain(String[]args){Frameframe=newMyFrame();frame.setVisible(tr
8、ue);}}///简要说明一个窗口式应用程序必须有一个Frame类的窗口。本程序先创建一个按钮面版MyPanel,再建立一个窗口MyFrame。MyFrame类只声明了一个构建器,其中利用Frame的getContentPane()方法得到一个内容面版ctPane,并把按钮面版加入其中。main方法创建窗口对象并令其可视。令类Simple1继承Applet并把main方法改为init方法,就可以插入到网页上了。但运行时仍然会弹出一个窗口,因为程序的工作就是打开一个窗口。本书以后还是
此文档下载收益归作者所有