摘要:
组件(Conponent)是图形用户界面最基本的部分,也称为构件 ,是可以以图形化的方式显示在屏幕上,并能与用户进行交互的对象,例如一个按钮,一个标签等。 组件不能独立地显示出来,必须将其放在一定的容器中才可以显示。 类java.awt.Component是许多组件类的父类,Component类中封 阅读全文
摘要:
java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念: 组件--Component 容器--Container 布局管理器--LayoutManager 阅读全文
摘要:
Window对应的类为java.awt.Windows, 它可独立于其他Container而存在,它有两个子类, Frame和Dialog, Frame是具有标题(title)和可伸缩的角(resize corner)的窗口(Window)。Dialog则没有菜单条,虽然它能移动,但不能伸缩。 滚动 阅读全文
摘要:
在AWT中,所有能在屏幕上显示的组件(component )对应的类,均是 抽象类 Component 的子类或子孙类。 这些类均可继承Component类的变量和方法。 Container类是Component的子类,它也是一个抽象类,它允许其他的组件(Component)加入其中。 加入的Com 阅读全文
摘要:
这种糟糕的设计选择使得那些拥护Java“一次编写,到处运行 (write once, run anywhere)”信条的程序员们过得并不舒畅,因为AWT并不能保证他们的应用在各种平台上表现得有多相似。 一个AWT应用可能在Windows上表现很好可是到了Macintosh上几乎不能使用,或者正好相反 阅读全文
摘要:
Java释出的时候,AWT作为Java最弱的组件受到不小的批评。 最根本的缺点是AWT在原生的用户界面之上仅提供了一个非常薄的抽象层。 例如,生成一个AWT的 复选框会导致AWT直接调用下层原生例程来生成一个复选框。 不幸的是,一个Windows平台上的复选框同MacOS平台或者各种UNIX风格平台 阅读全文
摘要:
抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的 applet 和applications中。 它支持图形用户界面编程的功能包括: 用户 阅读全文
摘要:
Abstract Window Toolkit(AWT)是一个图形过程库,使用Java语言通过位图显示来操纵窗口。最后设计者又将AWT扩充为Alternative Window工具箱和Applet Widget工具箱。最新的GUI接口称为Swing,扩展了AWT,程序开发人员可以利用Swing生成独 阅读全文
摘要:
Java1.0的AWT(旧AWT)和Java1.1以后的AWT(新AWT)有着很大的区别,新的AWT克服了旧AWT的很多缺点,在设计上有较大改进,使用也更方便,这里主要介绍新的AWT, 但在Java1.1及以后版本中旧的AWT的程序也可运行。 阅读全文
摘要:
AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件( component s)。 由于Java是一种独立于平台的 程序设计语言 ,但GUI却往往是依赖于特定平台的,Java采用了相应的技术使得AWT能提供给应用程序独立于机器平台的接口,这 阅读全文
摘要:
抽象窗口工具包 (Abstract Windowing Toolkit) (AWT)是Java的平台独立的窗口系统,图形和用户界面器件工具包。 AWT是Java基础类 (JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API。 阅读全文
摘要:
AWT(Abstract Window Toolkit),中文译为抽象窗口工具包,该包提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的 图形用户界面 的基本工具。 AWT中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,称之为 peers,当利用AWT编写 阅读全文
摘要:
Applet消亡的原因: ①java为安全起见对Applet有所限制:Applet不允许访问本地文件信息、敏感信息,不能执行本地指令(比如FORMAT),不能访问初原服务器之外的其他服务器。 ① IE不支持新版本的Applet。 Applet的优势: 网络传输,自动下载。 Application的优 阅读全文
摘要:
进度条:ProgressBar。 JcomboBox:下拉菜单:在AWT中同类组件是choice。 JlistPanel:选择列表 BorderPanel:设置边框 JsplitPanel:可将容器分为两个部分,其中一个部分有Jtree。 TextBox:也是一种新的容器,可以设置组件的间距。 Te 阅读全文
摘要:
Swing与AWT在事件模型处理上是一致的。 Jframe实际上是一堆窗体的叠加。 Swing比AWT更加复杂且灵活。 在JDK1.4中,给JFRAME添加Button不可用jf.add(b)。而是使用jf.getContentPane().add(b)。 content是先申请面板。不过在JDK1 阅读全文
摘要:
在Swing的组件中,基本上都是在AWT组件的名称前面加“J”。 一般情况下,除了Choise等组件: import javax.swing.*;好要加上:import java.awt.*以及import java.awt.event.*。 Swing与AWT的最大区别是Swing为JAVA自身的 阅读全文
摘要:
AWT是Java最早出现的图形界面,但很快就被Swing所取代。 Swing才是一种真正的图形开发。 AWT在不同平台所出现的界面可能有所不同:因为每个OS都有自己的UI组件库,java调用不同系统的UI。 注意AWT为重量级组件,相当消耗资源,且不同系统的组件可能不同。因为这个问题使得AWT开发的 阅读全文
摘要:
Canvas组件:画布,可以实现动画操作。 TextArea:文本域。 在单行文本域中回车会激发ActionEvent。 用CheckBoxGroup实现单选框功能。 Java中,单选框和复选框都是使用CheckBox实现。 菜单:new MenuBar(),MenuBar表示菜单条。 菜单中的每一 阅读全文
摘要:
在生成一个窗体的时候,点击窗体的右上角关闭按钮激发窗体事件的方法:窗体Frame为事件源,WindowsListener接口调用Windowsclosing()。 为了配合后面的实现,我们必须将WindowsListener所有的方法都实现,除了Windowsclosing方法,其余的方法均为空实现 阅读全文
摘要:
重点:学会处理对一个事件源有多个事件的监听器(在发送消息时监听器收到消息的排名不分先后)。 事件监听的响应顺序是不分先后的,不是谁先注册谁就先响应。 事件监听由两个部分组成(接口和接口的实现类)。 事件源 事件对象 事件监听 gril EmotinEvent EmotionListener(接口)、 阅读全文
摘要:
在java.util中有EventListener接口:所有事件监听者都要实现这个接口。 java.util中有EventObject类:所有的事件都为其子类。 事件范例在\CoreJava\Girl.java文件中。(文件已加注释) 注意:接口因对不同的事件监听器对其处理可能不同,所以只能建立监听 阅读全文
摘要:
五种布局管理器: Flow Layout(流式布局):按照组件添加到容器中的顺序,顺序排放组件位置。默认为水平排列,如果越界那么会向下排列。排列的位置随着容器大小的改变而改变。 Panel默认的布局管理器为Flow Layout。 Border Layout:会将容器非常五个区域:东西南北中。 语句 阅读全文
摘要:
对于命令:File f2=new file(“d:\\abc\\789\\1.txt”) 这个命令不具备跨平台性,因为不同的OS的文件系统很不相同。 如果想要跨平台,在file类下有separtor(),返回锁出平台的文件分隔符。 File.fdir=new File(File.separator) 阅读全文
摘要:
释放锁标记只有在Synchronized代码结束或者调用wait()。 注意锁标记是自己不会自动释放,必须有通知。 注意在程序中判定一个条件是否成立时要注意使用WHILE要比使用IF要严密。 WHILE会放置程序饶过判断条件而造成越界。 阅读全文
摘要:
Object obj; Obj.setValue(123); Synchronized用来修饰方法,表示当某个线程调用这个方法之后,其他的事件不能再调用这个方法。只有拿到obj标记的线程才能够执行代码块。 注意:Synchronized一定使用在一个方法中。 锁标记是对象的概念,加锁是对对象加锁,目 阅读全文
摘要:
避免以上的问题可采用对数据进行加锁的方法 每个对象除了属性和方法,都有一个monitor(互斥锁标记),用来将这个对象交给一个线程,只有拿到monitor的线程才能够访问这个对象。 Synchronized:这个修饰词可以用来修饰方法和代码块 阅读全文
摘要:
多线程的并发一般不是程序员决定,而是由容器决定。 多线程出现故障的原因: 两个线程同时访问一个数据资源(临界资源),形成数据发生不一致和不完整。 数据的不一致往往是因为一个线程中的两个关联的操作只完成了一步。 阅读全文
摘要:
进程的休眠:Thread sleep(1000);//括号中以毫秒为单位 当main()运行完毕,即使在结束时时间片还没有用完,CPU也放弃此时间片,继续运行其他程序。 Try{Thread.sleep(1000);} Catch(Exception e){e.printStackTrace(e); 阅读全文
摘要:
锁标记如果过多,就会出现线程等待其他线程释放锁标记,而又都不释放自己的锁标记供其他线程运行的状况。就是死锁。 死锁的问题通过线程间的通信的方式进行解决。 线程间通信机制实际上也就是协调机制。 线程间通信使用的空间称之为对象的等待队列,则个队列也是属于对象的空间的。 Object类中又一个wait() 阅读全文
摘要:
过滤流: bufferedOutputStream bufferedInputStream 用于给节点流增加一个缓冲的功能。 在VM的内部建立一个缓冲区,数据先写入缓冲区,等到缓冲区的数据满了之后再一次性写出,效率很高。 使用带缓冲区的输入输出流的速度会大幅提高,缓冲区越大,效率越高。(这是典型的牺 阅读全文
摘要:
原则:保证编解码方式的统一,才能不至于出现错误。 Io包的InputStreamread称为从字节流到字符流的桥转换类。这个类可以设定字符转换方式。 OutputStreamred:字符到字节 Bufferread有readline()使得字符输入更加方便。 在I/O流中,所有输入方法都是阻塞方法。 阅读全文
摘要:
java的开发主要以http为基础。 反射:主要用于工具和框架的开发。 反射是对于类的再抽象;通过字符串来抽象类。 JAVA类的运行:classLoader:加载到虚拟机(vm) Vm中只能存储对象(动态运行时的概念),.class文件加载到VM上就成为一个对象,同时初始静态成员及静态代码(只执行一 阅读全文
摘要:
UDP编程: DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。 DatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中。 UDP也需要现有Server端,然后再有Client端。 两端都是 阅读全文
摘要:
网络层:寻址、路由(指如何到达地址的过程) 传输层:端口连接 TCP模型:应用层/传输层/网络层/网络接口 端口是一种抽象的软件结构,与协议相关:TCP23端口和UDT23端口为两个不同的概念。 端口应该用1024以上的端口,以下的端口都已经设定功能。 套接字(socket)的引入: Ip+Port 阅读全文
摘要:
网络与分布式集群系统的区别:每个节点都是一台计算机,而不是各种计算机内部的功能设备。 Ip:具有全球唯一性,相对于internet,IP为逻辑地址。 端口(port):一台PC中可以有65536个端口,进程通过端口交换数据。连线的时候需要输入IP也需要输入端口信息。 计算机通信实际上的主机之间的进程 阅读全文
摘要:
Transient用来修饰属性。 Transient int num; 表示当我们对属性序列化时忽略这个属性(即忽略不使之持久化)。 所有属性必须都是可序列化的,特别是当有些属性本身也是对象的时候,要尤其注意这一点。 判断是否一个属性或对象可序列化:Serialver。 Serialver Test 阅读全文
摘要:
class ObjectOutputStream也是过滤流,使节点流直接获得输出对象。 最有用的方法:WriteObject(Object b) 用流传输对象称为对象的序列化,但并不使所有的对象都可以进行序列化的。只有在实现类时必须实现一个接口:IO包下的Serializable(可序列化的)。此接 阅读全文
摘要:
字节流与字符流的区别: 字节流的字符编码: 字符编码把字符转换成数字存储到计算机中,按ASCii将字母映射为整数。 把数字从计算机转换成相应的字符的过程称为解码。 编码方式的分类: ASCII(数字、英文):1个字符占一个字节(所有的编码集都兼容ASCII) ISO8859-1(欧洲):1个字符占一 阅读全文
摘要:
使用I/O流访问file中的内容。 JVM与外界通过数据通道进行数据交换。 分类: 按流分为输入流和输出流; 按传输单位分为字节流和字符流; 还可以分为节点流和过滤流。 节点流:负责数据源和程序之间建立连接; 过滤流:用于给节点增加功能。 过滤流的构造方式是以其他流位参数构造(这样的设计模式称为装饰 阅读全文
摘要:
File类(java.io.*)可表示一个文件,也有可能是一个目录(在JAVA中文件和目录都属于这个类中,而且区分不是非常的明显)。 Java.io下的方法是对磁盘上的文件进行磁盘操作,但是无法读取文件的内容。 注意:创建一个文件对象和创建一个文件在JAVA中是两个不同的概念。前者是在虚拟机中创建了 阅读全文