图形用户界面(graphical user interface,GUI)为用户提供良好的交互界面。
一、Applet概述
Java Applet是一种嵌入HTML文档中的Java程序。编写Applet和Application的基本技术、概念和语法是同样的,Applet程序也是由Java源代码构成,并被编译为class文件。但是与Application不同,Applet是一个运行在支持Java的浏览器页面中的Java程序。与Application相比,Applet具有明显的优点:①Web浏览器提供了运行Applet所需要的许多功能;②Applet实在运行时通过网络从服务器端下载的,因而便于软件的发布和及时更新。但Applet也有其局限性,由于安全的原因Applet不能在客户机上读写当地文件,也不能连接除它所在的服务器以外的其他机器。
二、Applet应用程序接口(API)
JApplet类中的各种方法就是Java提供的用于编写Applet程序的API。这些API提供了Applet在浏览器中运行需要具备的特定方法。
三、图形环境和图形对象
要在Java中 绘图,需要先了解Java的图形环境。GUI组件(诸如Applet和窗口)的左上角坐标默认为(0,0),从左上角到右下角,水平坐标x和垂直坐标y增 加。坐标的单位是像素,它是显示器分辨率的最小单位。通过指定坐标,文本和图形就可以显示在屏幕上指定的位置。Graphics对象是专门管理图形环境的。Graphics类是一个抽象类,将其设计为抽象类是因为绘图与平台是相关的。
四、Swing基础:Swing组件提供丰富、可扩展的GUI组件库,包括按钮、窗口、表格等一系列的图形组件。
在Applet 中应用Swing,就是要将Swing组件加载到Applet容器上(通常是JApplet),这通常在init方法中完成;而在Application 中应用Swing,也是要将Swing组件加载到这个Application的顶层容器(通常是JFrame)中。
五、Swing的特点和概念
通常将javax.swing包里的Swing组件归为三个层次:顶层容器、中间层容器、原子组件。
1、顶层容器,Swing提供三个顶层容器的类,分别是JFrame、JDialog和JApplet,因为顶层容器必须和操作系统打交道,所以,它们都应该是重量级组件。从继承结构上来看,它们分别是从原来AWT组件的Frame、Dialog和Applet类继承而来。每个使用Swing组件的Java程序都必须至少有一个顶层容器,别的组件都必须放在这个顶层容器上才能显现出来。
2、中间容器,容纳别的组件,分为两类:一般用途的和特殊用途的。一般用途的有JPanel、JScrollPane、JSplitPane、JTabbedPane、JToolBar 5类;特殊用途的有JInternalFrame、JRootPane 2类。
3、原子组件,通常是在图形用户界面中和用户进行交互的组件。基本功能就是和用户交互信息。
六、事件处理
GUI是由事件驱动的,一些常见的事件包括:移动鼠标、单双击鼠标的各个按钮、单击按钮、在文本字段输入、在菜单栏中选择菜单项、在组合框中选择、单选和多选、拖动滚动条、关闭窗口等。
Swing通过事件对象来包装事件,程序可以通过事件对象获得事件的有关信息。编写事件处理程序时,要关注事件源、事件监听器、事件对象。事件源表示事件来自于哪个组件或对象。事件源提供注册监听器或取消监听器的方法,它维护一个已注册的监听器列表,如有事件发生,就会通知每个已注册的监听器。一个事件源可以注册多个事件监听器,每个事件监听器又可以对多种事件进行响应。事件监听器负责监听事件并做出响应,一旦它监听到事件发生,就会自动调用相应的事件处理程序作出响应。事件对象代表某个要被处理的事件,事件对象中包含事件的相关信息和事件源。
发表评论: