Java的AWT
AWT是Java中支持图形化用户界面GUI设计的一个工具集。AWT的API是独立于平台的,但设计出来的界面在各种平台的风格不同,利用API中各种类在特定平台下的对等组件peers提供具体平台下的实现。
欲建立一个GUI首先确定所用的组件及其布局,然后实现其事件的响应。组件的类型有多种,如常用的Button、CheckBox等,均为Component跟MenuComponent类的子类,这些组件不能独立使用,必须放置于某个容器中。
容器本身也是一个组件,可以容纳多个组件,使它们成为一个整体,容器之间可以嵌套。常用的容器有Frame、Panel、Applet等。其中Frame一般作为顶级窗口使用,而Panel则必须放在Window或者Frame中。
为了使得组件在容器中的摆放、布局有序,须使用布局管理器,Java提供了FlowLayout、BorderLayout、GridLayout、CardLayout、GridBagLayout这五种布局管理器,以实现不同风格的组件布局。其中FlowLayout为Frame和Applet中默认的布局管理,CardLayout可以使得组件像卡片般叠放,且可以进行卡片切换。欲使用某种布局管理器时,须用setLayout设置容器的布局管理器为该类型。
当界面做好之后,组件的事件响应才是GUI设计与实现的核心。其过程为:当用户在界面上作出某种动作时,监测GUI的操作系统将发生的事件传送给GUI应用程序,程序则根据事件做出反应。AWT的事件处理模型为:事件源(组件)产生事件(EVENT)交由事件处理器处理。目前的事件处理机制为委托方式(监听方式),即事件源(组件)注册了一个或者多个包含事件处理器的对象(监听器),当事件产生时组件将事件发送给监听器,由其对事件进行相应的处理。
其过程为:定义监听器、注册监听器。一个对象通过实现多种接口可以监听多种事件,也可以通过匿名类、内部类实现多个监听器。由于在定义监听器时利用适配器可以简化程序,但同时又限制了对其它类的继承,这时可以通过在类的内部定义监听类来实现多个监听器的动作。
相关文档:
在java中实质只存在一种传递方式:即值传递。 而引用传递是对C/C++而言的。结论:
对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。
对于引用类型,在方法体内对方法参数进行重新赋予引用,并不会改变原有变量所持有的引用。
方法体内对参数进行运算,不影响原有变量的值。
......
这两天学校开始让我们这一大批高费生选择自己的专业方向,Focuser
我
经过好几个年头的思考,并且在我们亲爱c#老师热情的向
我们介绍.net的前景后,毅然坚定的选择了java这条自己认为前程似锦的道路。以下的这些网站是我平时经常访问的一些国外的英文java网站,今天特
地的发布给大家,希望我们能够真正的学习到jav ......
c# java 区别
C#与JAVA的相同之处:由于C#与JAVA都是基于C++发展起来的,因此二者之间具有很多相似之处,具体如下:
1、C#和JAVA语言的编译结果是独立于计算机和编程语言的,可执行文件可以在受管理的执行
环境中执行;
2、C#和JAVA语言都是采用了自动的垃圾回收机制;
3、C#和JAVA语言都取消了指针操作;
4、C ......
JAVA中用于处理字符串的“三兄弟”
JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。 ......
org.apache.commons.net.ftp.*中的FTPClient类实现的FTP上传下载功能:
需导入Apache的commos-net的jar包,若导入的是1.4版本的包,则FTPFile[] fileList = ftpClient.listFiles()的执行过程中可能会报错,此时更换导入2.0版本的jar包,问题即可解决。
代码如下:
package com.java.ftp;
import java.io.File;
import ......