十---十一章的内容:
网络底层:TCP/IP详解
TCP:
Socket编程:
java.net包:Socket和ServerSocket类分别用来实现双向连接的client和 server端
寻址信息:远端计算机的IP地址和端口号(Port number)--65536个
自己编程的端口号:1024以上的。
80:http 21:
TCP端口和UDP端口分开的,每个都有65536个端口。
先启动server,在启动client。
Socket类的accept()方法和DataInputStream类里面的readUTF()都是阻塞的。
UDP:
不可靠,效率高,数据报,不连接。
DatagramPacket(包),DatagramSocket(插座)
不区分server和client的Scoket。
server:ds.receive(dp)--字节数组
client:ds.send(dp)--字节数组
InetSocketAddress(host,port)
包里面要包含地址了。
long类型的数转换为字符串数组。
ByeArrayInputStream,DataInputStream
ByteArrayOutputStream,DataOutputStream
第11章:GUI
java.awt包。AWT核心类:Container和Componet
Component
---Button,TextArea,Label,TextField,List
---Container
---Window(可以独立显示)
---Frame
---Dialog
---Panel(不能独立显示)
---Applet
后期使用Spring,javax.Spring。
Frame:缺省布局管理器为BorderLayout
方法: setBounds(int x,int y,int width,int height)
setSize(int width,int height)
setLocation(int x,int y)
setBackground(Color c)
setVisible(boolean b)--是否可见
setTitle(String name)
setResizable(boolean b)--是否可以调整大小
Panel:无法单独显示,必须添加到某个容器中。
Panel()使用默认的FlowLayout类布局管理器初始化
Panel(LayoutManager layout)指定的布局管理器
布局管理器:
Awt提供5种:
FlowLayout:是Panel的默认布局管理器
---行内从左到右排,默认的对齐方式是居中。
new FlowLayout(FlowLayout.RIGHT,20,40)
BorderLayout:是Frame类的默认布局管理器
---把容器划分成东,西,南,北,中(EAST,WEST,SOUTH,NORTH,CENTER)
---默认加入部位是CENTER,每个区域只能加入一个组件。
---缩放原则:
GridLayout:
---将空间划分成规则的矩形网格,每个单元格区域大小相等,组件被添加到每个单元格中,先从左到右添满一行后换行,再从上到下。
---GridLayout(3,4)行数和列数。
CardLayout
GridBagLayout
使用布局管理器时,无法设置组件的大小和位置属性,统一由布局管理器来管理
如确实需要设置,取消布局管理器:setLayout(null)
事件模型:
java.event包
ActionEvent e
e.getActionCommand();
方法:setActionCommand
接口:ActionListener ---implements
addActionListener(ActionLinstener l)--注册ActionListener对象
TextField类---java.awt.TextField类
对应的事件类:java.awt.event.ActionEvent
实现java.awt.event.ActionListener接口
持有对方引用:
内部类:class文件名称:外部类名$内部类名
默认拥有外部内的引用。方便访问包装类的成员变量或者方法。
只需要被包装类访问。
Adapter类,实现ActionListener接口的类:
--MouseAdapter(MouseLister接口),KeyAdapter,
paint(Graphic g) 窗口载入的时候默认调用。
repaint()--强制重画。--UpDate()(实现双缓冲)---paint()
Graphics类:
图形系统。
Window事件:
WindowEvent类:
setVisible(false);System.exit(0);窗口关闭,正常退出。
匿名类:---可用内部类替代。
以上,Over。