Java中常用的方法()持续更新

第一章 字符串

1 获取字符串的长度: length()
2 判断字符串的前缀或后缀与已知字符串是否相同
前缀 startsWith(String s) 、后缀 endsWith(String s)
3 比较两个字符串: equals(String s)
4 把字符串转化为相应的数值
int 型 Integer.parseInt( 字符串 ) 、 long 型 Long.parseLong( 字符串 )
float 型 Folat.valueOf( 字符串 ).floatValue()
double 型 Double.valueOf( 字符串 ).doubleValue()
5 将数值转化为字符串: valueOf( 数值 )
6 字符串检索
indexOf(Srting s) 从头开始检索
indexOf(String s ,int startpoint) 从 startpoint 处开始检索
如果没有检索到,将返回 -1
7 得到字符串的子字符串
substring(int startpoint) 从 startpoint 处开始获取
substring(int start,int end) 从 start 到 end 中间的字符
8 替换字符串中的字符 , 去掉字符串前后空格
replace(char old,char new) 用 new 替换 old
9 分析字符串
StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车, Tab ,进纸符)
StringTokenizer(String s,String delim) delim 是自己定义的分隔符
nextToken() 逐个获取字符串中的语言符号
boolean hasMoreTokens() 只要字符串还有语言符号将返回 true ,否则返回 false
countTokens() 得到一共有多少个语言符号

第二章 文本框和文本区

1 文本框
TextField() 构造文本框,一个字符长、 TextField(int x) 构造文本框, x 个字符长
TextField(String s) 构造文本框,显示 s 、 setText(String s) 设置文本为 s
getText() 获取文本、 setEchoChar(char c) 设置显示字符为 c
setEditable(boolean) 设置文本框是否可以被修改、 addActionListener() 添加监视器
removeActionListener() 移去监视器
2 文本区
TextArea() 构造文本区; TextArea(String s) 构造文本区,显示 s
TextArea(String s,int x,int y) 构造文本区, x 行, y 列,显示 s
TextArea(int x,int y) 构造文本区, x 行, y 列
TextArea(String s,int x,ing y,int scrollbar)
scrollbar 的值是:
TextArea.SCROLLBARS_BOTH TextArea.SCROLLBARS_VERTICAL_ONLY
TextArea.SCROLLBARS_HORIZONTAL_ONLY ; TextArea.SCROLLBARS_NONE
setText(String s) 设置文本为 s ; getText() 获取文本
addTextListener() 添加监视器; removeTextListener() 移去监视器
insert(String s,int x) 在 x 处插入文本 s
replaceRange(String s,int x,int y) 用 s 替换从 x 到 y 处的文本
append(String s) 在文本的最后追加文本 s
Int getCaretPosition(int n) 获取文本区中光标的位置

第三章 按钮

1 按钮
Button() 构造按钮; Button(String s) 构造按钮,标签是 s
setLabel(String s) 设置按钮标签是 s ; getLabel() 获取按钮标签
addActionListener() 添加监视器; removeActionListener() 移去监视器

第四章 标签

1 标签
Label() 构造标签; Label(String s) 构造标签,显示 s
Label(String s,int x)x 是对齐方式,取值: Label.LEFT ; Label.RIGHT ; Label.CENTER
setText(String s) 设置文本 s ; getText() 获取文本
setBackground(Color c) 设置标签背景颜色; setForeground(Color c) 设置字体颜色

第五章 选择框

1 选择框
Checkbox() 构造选择框; Checkbox(String s) 构造选择框,给定标题 s
Checkbox(String s,boolean b) b 设定初始状态
Checkbox(String s,boolean b,CheckboxGroup g) g 设定了所属的组(有了组就成为单选框)
addItemListener() 添加监视器; removeItemListener() 移去监视器
getState() 返回选择框的是否选中状态; setState(boolean b) 设置选择框的状态
getLabel() 获取选择框的标题; setLabel(String s) 设置选择框的标题为 s

第六章 选择控件和滚动列表

1 选择控件
Choice() 构造选择控件; add(String s) 向选择控件增加一个选项
addItemListener() 添加监视器; removeItemListener() 移去监视器
getSelectedIndex() 返回当前选项的索引; getSelectedItem() 返回当前选项的字符串代表
insert(String s,int n) 在 n 处插入选项 s
remove(int n) ; removeAll()
2 滚动列表
List() 构造滚动列表; List(int n) 参数 n 是可见行数
List(int n,boolean b) 参数 b 是设置是否可以多项选择
add(String s) 向列表的结尾增加一个选项; add(String s,int n) 在 n 处增加一个选项
AddActionListener() 滚动列表添加监视器
addItemListener() 滚动列表上的选项添加监视器
remove(int n) 删除 n 初的选项; remnoveAll() 删除全部选项
getSelectedIndex() 返回当前选项的索引; getSelectedItem() 返回当前选项的字符串代表
3 组件类的一些常用方法
void setBackground(Color c) 设置组件背景颜色
void setForeground(Color c) 设置组件前景颜色
void setFonts(Font f) 设置组件字体
void setBounds(int x,int y,int w,int h) 设置坐标, x , y 表示在容器中坐标, w,h 表示宽和高
void setLocation(int x,int y) 移动到 x , y 处; void setSize(int w,int h) 设置宽和高
void setVisible(boolean b) 设置组建是否可见
int getBounds().wigth 获取宽; int getBounds().height 获取高
int getBounds().x 获取 x 坐标; int getBounds().y 获取 y 坐标
Toolkit getToolkit() 获取工具包对
void setEnabled(boolean b) 设置是否可以使用(默认可以)

第七章 窗口和菜单

1 窗口
Frame() 构造窗口; Frame(String s) 窗口标题是 s
setBounds(int x,int y,int w,int h) 窗口位置 x , y ,宽 w, 高 y
setSize(int w,int h) 设置窗口位置(单位是像素)
setBackground(Color c) 设置背景颜色; setVisible(boolean b) 设置窗口是否可见
pack() 窗口出现时紧凑; setTitle(String s) 设置标题为 s
getTitle() 获取标题; setResizable(boolean b) 设置窗口大小是否可以调整
2 菜单条
Menubar() 构造菜单条; setMenubar() 窗口添加菜单条
3 菜单
Menu() 构造菜单; Menu(String s) 构造菜单,标题 s
add(MenuItem item) 菜单增加菜单选项 item ; add(String s) 向菜单增加选项 s
getItem(int n) 获取 n 处的选项; getItemCount() 获取选项数目
insert(MenuItem item,int n) 在 n 处插入菜单选项 item
insert(String s,int n) 在 n 处插入菜单选项
remove(int n) 删除菜单的 n 处的菜单选项; removeAll() 删除全部
4 菜单项
MenuItem() 构造菜单项; MenuItem(String s) 构造标题是 s 的菜单项
setEnabled(boolean b) 设置是否可以被选择; getLabel() 得到菜单选项名
addActionListener() 添加监视器
5 有关菜单的技巧
addSeparator() 增加菜单分割线; CheckboxMenuItem() 复选框菜单项
setShortcut(MenuShortcut k) 设置快捷键 (k 取值 KeyEvent.VK_A----KeyEvent.VK_Z)

第八章 建立对话框

1 Dialog 类
Dialog(Frame f,String s) 构造对话框,初始不可见, s 是标题, f 是对话框所依赖的窗口
Dialog(Frame f,String s,boolean b) b 设置初始是否可见
getTitle() 获取对话框标题; setTitle(String s) 设置对话框标题
setModal(boolean b) 设置对话框模式; setSize(int w,int h) 设置对话框大小
setVisible(boolean b) 显示或隐藏对话框
2 FileDialog 类
Filedialog(Frame f,String s,int mode) mode 的值是 fileDialog.LOAD 或者 fileDialog.SAVE
public String getDirectory() 获取当前文件对话框中显示的文件所属目录
public String getFile() 获取当前文件对话框中文件的字符串表示,不存在返回 null

第九章 Java 中的鼠标和键盘事件

1 使用 MouseListener 借口处理鼠标事件
鼠标事件有 5 种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出
鼠标事件类型是 MouseEvent ,主要方法有:
getX(),getY() 获取鼠标位置; getModifiers() 获取鼠标左键或者右键
getClickCount() 获取鼠标被点击的次数; getSource() 获取鼠标发生的事件源
事件源获得监视器的方法 addMouseListener() ,移去监视器的方法 removeMouseListener()
处理事件源发生的时间的事件的接口是 MouseListener 接口中有如下的方法
mousePressed(MouseEvent) 负责处理鼠标按下事件
mouseReleased(MouseEvent) 负责处理鼠标释放事件
mouseEntered(MouseEvent) 负责处理鼠标进入容器事件
mouseExited(MouseEvent) 负责处理鼠标离开事件
mouseClicked(MouseEvent) 负责处理点击事件
2 使用 MouseMotionListener 接口处理鼠标事件
事件源发生的鼠标事件有 2 种:拖动鼠标和鼠标移动;鼠标事件的类型是 MouseEvent
事件源获得监视器的方法是 addMouseMotionListener()
处理事件源发生的事件的接口是 MouseMotionListener 接口中有如下的方法
mouseDragged() 负责处理鼠标拖动事件; mouseMoved() 负责处理鼠标移动事件
3 控制鼠标的指针形状
setCursor(Cursor.getPreddfinedCursor(Cursor. 鼠标形状定义 )) 鼠标形状定义见(书 P 210 )
4 键盘事件
键盘事件源使用 addKeyListener 方法获得监视器
键盘事件的接口是 KeyListener 接口中有 3 个方法
public void keyPressed(KeyEvent e) 按下键盘按键
public void keyReleased(KeyEvent e) 释放键盘按键
public void keyTypde(KeyEvent e) 按下又释放键盘按键

第十章 Java 多线程机制

1 Java 的线程类与 Runnable 接口
Thread 类
public Thread() 创建线程对象;   public Thread(Runnable target)
target 称为被创建线程的目标对象,负责实现 Runnable
线程优先级
Thread 类有三个有关线程优先级的静态常量: MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY
新建线程将继承创建它的副线程的优先级。
用户可以调用 Thread 类的 setPriority(int a) 来修改 a 的取值 :
Thread.MIN_PRIORITY,Thread.MAX_PRIORITY,Thread.NORM_PRIORITY
主要方法
启动线程 start() ;定义线程操作 run()
使线程休眠 sleep() : sleep(int millsecond) 以毫秒为单位的休眠时间
sleep(int millsecond,int nanosecond) 以纳秒为单位的休眠时间
currentThread() 判断谁在占用 CPU 的线程

第十一章 输入输出流

1 FileInputStream 类
FileInputStream(String name) 使用给定的文件名 name 创建一个 FileInputStream 对象
FileInputStream(File file) 使用 File 对象创建 FileInpuStream 对象
File 类有两个常用方法:
File(String s) s 确定文件名字; File(String directory,String s) directory 是文件目录
处理 I/O 异常
当出现 I/O 错误的时候, Java 生成一个 IOException(I/O 异常 ) 对象来表示这个错误的信号。
程序必须使用一个 catch 检测这个异常

从输入流中读取字节
int read() 返回 0~255 之间一个整数,如果到输入流末尾,则返回 -1
int read(byte b[]) 读取字节数组
int read(byte b[],int off,int len) :
off 指定把数据存放在 b 中什么地方, len 指定读取的最大字节数
关闭流
close()
2 FileOutputStream 类
FileOutputStream(String name) 使用指定的文件名 name 创建 FileOutputStream 对象
FileOutputStream ( File file ) 使用 file 对象创建 FileOutputStream 对象
FileOutputStream ( FileDescriptor fdobj ) 使用 FileDescriptor 对象创建 FileOutputStream 对象
3 FileReader 类和 FileWriter 类
FileReader(String filename) ; FileWriter(String filename)
处理时需要 FileNotFoundException 异常
4 RandomAccessFile 类
RandomAccessFile 不同于 FileInputStream 和 FileOutputStream, 不是他们的子类
当我们想对一个文件进行读写操作的时候,创建一个指向该文件的 RandomAccessFile 流就行了
RandomAccessFile 类有两个构造方法:
RandomAccessFile ( String name, String mode ) name 是文件名, mode 取 r( 只读 ) 或 rw( 读写 )
RandomAccessFile ( File file,String mode ) file 给出创建流的源
seek(long a) 移动 RandomAccessFile 流指向文件的指针 ,a 确定指针距文件开头的位置
getFilePointer() 获取当前文件的指针位置; close() 关闭文件
getFD() 获取文件的 FileDescriptor ; length() 获取文件长度
read() 读取一个字节数据; readBoolean() 读取一个布尔值; readByte() 读取一个字节
readChar() ; readFloat() ; readFully(byte b[]) ; readInt() ; readLine() ; readLong()
readUnsignedShort() ; readUTF() 读取一个 UTF 字符串
setLength(long newLength) 设置文件长度; skipByte(int n) 在文件中跳过给定数量的字节
write(byte b[]) 写 b.length 个字节到文件; writeBoolean(bolean b)
writeByte(int v) ; writeChar(char c) ; writeChars(String s) ; writeDouble(double d)
writeFloat(float v) ; writeInt(int i) ; writeLong(long l) ; writeShort(int i)
writeUTF(String s)
5 管道流
PipedInputStream 类; PipedInputStream() 创建一个管道输入流
PipedInputStream ( PipedOutputStream a ) 连接到输出流 a 的输入流
read() 从输入流中读取一个字节
read(byte b[],int off,int len) off 是在 b 中的开始位置, len 是字节长度
PipedOutputStream 类; PipedOutputStream() 创建一个输出流
PipedOutputStream(PipedInputStream a) 连接到输入流 a 的输出流
write(int b) ; write(byte b[],int off,int len)
counnect() 连接输入输出流; close() 关闭流;在使用的时候要捕获 IOException 异常。
6 数据流
DataInputStream 类 ( 数据输入流 )
DataInputStream(InputStream in) 将数据输入流指向一个由 in 指定的输入流
DataOutputStream 类 ( 数据输出流 )
DataOutputStream(OutputStream out) 将数据输出流指向一个由 out 指定的输出流
主要方法:
close() ; read() 读取一个字节数据; readBoolean() 读取一个布尔值
readByte() 读取一个字节; readChar() ; readFloat() ; readFully(byte b[])
readInt() ; readLine() ; readLong() ; readUnsignedShort()
readUTF() 读取一个 UTF 字符串; skipByte(int n) 在文件中跳过给定数量的字节
write(byte b[]) 写 b.length 个字节到文件; writeBoolean(bolean b)
writeByte(int v) ; writeChar(char c) ; writeChars(String s) ;
writeDouble(double d) ; writeFloat(float v) ; writeInt(int i)
writeLong(long l) ; writeShort(int i) ; writeUTF(String s)
7 对象流
ObjectInputStream 类和 ObjectOutputStream 类分别是 DataInputStream 类和 DataOutputStream 类的子类
8 回压输入流
PushbackInputStream 类; PushbackInputStream(InputStream in)
PushbackReader 类; PushbackReader(Reader in)
unread(char c) 回压一个字符; unread(char c[]) 回压数组 c 中全部字符
unread(char c[],offset,int n) 回压 c 中从 offset 开始的 n 个字符

第十二章 java 网络的基本知识

1 使用 URL (统一资源定位)
例如:
try
{
url=new URL("http://www.sina.com.cn";
}
catch(MalformedURLException e)
{
System.out.println("Bad URL:"+url);
}
在 Applet 中链接向另外的 Web 页面,使用代码:
getAppletContext().showDocument(url);
2 套接字
客户建立到服务器的套接字( Socket )
Socket(String host,int port) host 是服务器的 IP 地址, port 是端口号
建立了套接字后可以使用 getInputStream() 获得输入流
还可以使用 getOutputStream() 获得一个输出流
服务器建立接受客户套接字的服务器套接字( ServerSocket )
ServerSocket(int port) port 是端口号
建立了套接字连接后可以使用 accept() 接收客户的套接字
可以使用 getOutputStream() 获得一个输出流
还可以使用 getInputStream() 获得一个输入流
3 InetAddress 类
getByName(String s) 获取 Internet 上主机的地址
getHostName() 获取 InetAddress 对象所包含的域名
getHostAddress() 获取 InetAddress 对象所包含的 IP 地址
getLocalHost() 获取本地地址
4 UDP 数据报
发送数据包,即使用 DatagramPacket 类将数据打包 , 有两种构造方法
DatagramPacket(byte data[],int length,InetAddress address,int port)
? 含有 data 数组的数据
? 该数据包将发送到地质是 address ,端口是 port 的主机上
DatagramPacket(byte data[],int offset,int length,InetAddress address,int port)
? 含有 data 数组的从 offset 开始, length 长度的数据
? 该数据包将发送到地质是 address ,端口是 port 的主机上
接收数据包,即使用 DatagramSocket ( int port )创建一个对象, port 必须和待接收的数据包的端口相同
例如:
如果发送方的数据包端口是 5566
DatagramSocket mail=new DatagramSocket(5566);
然后对象 mail 可以使用方法 receive ( Datagrampacket pack )接收数据包
在使用参数 pack 接收数据包前,必须创建 pack
byte data[]=new byte[100];
int length=90;
DatagramPacket pack=new DatagramPataet(data,length);
mail.receive(pack);
该数据包 pack 将接收长度是 length 的数据放入 data, 注意数据长度不要超过 8192KB
pack 还可以调用方法 getPort() 获取所接受数据包是从什么端口发出的
调用方法 InetAddress getAddress() 可以获知数据包来自哪个主机

第十三章 Java 与图像

1 java 支持的图像类型: GIF , JPEG , BMP
2 Image 类
首先申请一个 Image 对象
Image img =getImage(URL url,String name) url 是图像地址, name 是图片名称
通常使用:
Image img =getImage(getCodBase(),String name) getCodBase() 获取当前小应用程序的 URL ,也就是在同一目录下
图像被加载后,就可以在 paint() 中绘制了
drawImage(Image img,int x,int y,ImageObserver observer)
img 是上面获取的图像, x,y 是指定图像左上角的位置, observer 是加载图像时的图像观察器
Applet 类已经实现了 ImageObserver 接口,所以可以直接使用 this 作为最后一个参数
drawImage(Image img,int x,int y,int width,int height,ImageObserver observer)
width 和 height 是要绘制的图像的宽和高
可以使用 img.getHeight(this) 和 img.getWidth(this) 来获取被加载的图像的宽和高
3 设置 Java 窗口图标
Frame 对象可以使用 setIconImage(Image img) 方法设置左上角图标,默认图标是咖啡杯

第十四章 Java 数据库连接 (JDBC)

1 JDBC-ODBC 桥接器
建立 JDBC-ODBC 桥接器
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver";
}
catch(ClassNotFoundException e){}
连接到数据库
try
{
Connection con=DriverManager.getConnection("jdbc:jdbc: 数据源名称 "," 数据源的 login name" ,
" 数据源的 password"
}
catch(SQLException e){}
向数据库发送 SQL 语句
try
{
Statement sql=con.createStatement();
}
catch(SQLException e){}
处理查询结果
ResultSet rs=sql.executeQuery("SQL 语句 ";

第十五章 Java 与多媒体

1 在小程序中播放声音
java 可以播放 au,aiff,wav,midi,rfm 格式的音频
可以调用 Applet 的一个静态方法:
newAudioClip(URL url,String name) url 是地址, name 是音频名称
也可以用 Applet 类的实例方法:
getAudioClip(URL url,String name)
根据 url 地址和声音文件 name ,获得一个用于播放的音频对象,这对象可以使用下面的方法来处理声音:
play() 播放声音文件 name ; loop() 循环播放 name ; stop() 停止播放 name
2 Java 媒体框架 (JMF)
创建播放器
try
{
URL url=new URL(getDocumenBase(), 视频文件名称 );
player player=Manager.createPlayer(url);
}
catch(IOException e){}
向播放器注册控制监视器
player.addControllerListener( 监视器 );
创建监视器必须使用接口 ControllerListener ,该接口中的方法是
public void controllerUpdate(ControllerEvent e)
让播放器对媒体进行预提取: player.prefetch()
启动播放器: player.start();
停止播放器: player.stop();
停止播放器后必须释放内存中的资源: player.deallocate();

第十六章 Java Swing 基础

1 Jcomponent 类
Jcomponent 类 是所有轻量组件的父类,主要的子类有:
JButton 创建按钮对象,而且可以创建在图标的按钮; JTree 创建树对象
JComboBox 创建组合框对象,和 Choice 相似; JCheckBox 创建复选框对象
JFileChooser 创建文件选择器; JInternalFrame 创建内部窗体
JLabel 创建标签; JMenu 创建菜单对象; JMenuBar 创建菜单条对象
JMenuItem 创建菜单项对象; JPanel 创建面板对象; JPasswordField 创建口令文本对象
JPopupMenu 创建弹出式菜单; JProgressBar 创建进程条; JRadioButton 创建单选按钮
JScrollBar 创建滚动条; JScrollPane 创建滚动窗格; JSlider 创建滚动条
JSplitPane 创建拆分窗格; JTable 创建表格; JTextArea 创建文本区
JTexPane 创建文本窗格; JToolBar 创建工具条; JToolTip 创建工具提示对象
2 JFrame 类
JFrame 类及其子类创建的对象是窗体
( 1 ) JFrame 类及其子类创建的窗体是 swing 窗体
( 2 )不可以把组件直接加到 swing 窗体中,应该把组件加到内容面板中
( 3 )不能为 swing 窗体设置布局,而应当为内容面板设置布局
( 4 ) swing 窗体通过调用 getContentPane() 方法得到它的内容面板
3 JApplet 类
( 1 )不可以把组件直接添加到小程序容器中,也应该添加到内容面板中
( 2 )不能为小程序设置布局
( 3 )小程序容器通过调用 getContenPane() 方法得到内容面板
4 JDialog 类
( 1 )不可以把组件直接添加到对话框容器中,也应该添加到内容面板中
( 2 )不能为对话框设置布局
( 3 )对话框容器通过调用 getContenPane() 方法得到内容面板
5 JPanel 面板: JPanel() ; JPanel( 布局对象 )
6 滚动窗口 JScrollPane : JScrollPane() ; JScrollPane(component c)
7 拆分窗口 JSplitPane
JSplitPane(int a,Component b,Component c)
a 的取值是 HORIZONTAL_SPLIT 或者 VERTICAL_SPLIT 决定水平拆分还是垂直拆分
JSplitPane(int a,boolean b ,Component b,Component c) b 的取值决定拆分线移动的时候组件是否连续变化
8 内部窗体 JInternalFrame
JInternalFrame(String title,boolean resizable,booleam closable,boolean max,boolean min)
参数的意义分别是窗口名称,是否能调整大小,是否有关闭按钮,最大化按钮,最小化按钮
( 1 )不能把组件直接加到窗体中,而是加到内容面板中
( 2 )必须先把内部窗体加到一个容器中( JDesktopPane ),该容器是专门为内部窗体服务的
9 按钮( JButton )
JButton() 创建按钮; JButton(String s) s 是按钮的名字
JButton(Icon icon) icon 是按钮上的图标; JButton(String s,Icon icon)
getText() 获取按钮名字; getIcon() 获取按钮图标
setIcon(Icon icon) 设置按钮图标
setHorizontalTextposition(int a) a 确定按钮上图标的位置,取值:
AbstractButton_CENTR,AbstractButton_LEFT,AbstractButton_RIGHT
setVerticalTextposition(int a) a 确定按钮上名字相对图标的位置,取值:
AbstractButton.TOP , AbstractButton.BOTTOM , AbstractButton.CENTR
setMnemonic(char c) 设置按钮的键盘操作方式是字符 c ( Alt+c )
setEnabled(boolean b) b 决定按钮是否可以被单击

字符串


1、获取字符串的长度
length()
2 、判断字符串的前缀或后缀与已知字符串是否相同
前缀 startsWith(String s)
后缀 endsWith(String s)
3、比较两个字符串
equals(String s)
4、把字符串转化为相应的数值
int型 Integer.parseInt(字符串)
long型 Long.parseLong(字符串)
float型 Folat.valueOf(字符串).floatValue()
double型 Double.valueOf(字符串).doubleValue()
4、将数值转化为字符串
valueOf(数值)
5、字符串检索
indexOf(Srting s) 从头开始检索
indexOf(String s ,int startpoint) 从startpoint处开始检索
如果没有检索到,将返回-1
6、得到字符串的子字符串
substring(int startpoint) 从startpoint处开始获取
substring(int start,int end) 从start到end中间的字符
7、替换字符串中的字符,去掉字符串前后空格
replace(char old,char new) 用new替换old
trim()
8、分析字符串
StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)
StringTokenizer(String s,String delim) delim是自己定义的分隔符
nextToken() 逐个获取字符串中的语言符号
boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false
countTokens() 得到一共有多少个语言符号


文本框和文本区

1、文本框
TextField() 构造文本框,一个字符长
TextField(int x) 构造文本框,x个字符长
TextField(String s) 构造文本框,显示s
setText(String s) 设置文本为s
getText() 获取文本
setEchoChar(char c) 设置显示字符为c
setEditable(boolean) 设置文本框是否可以被修改
addActionListener() 添加监视器
removeActionListener() 移去监视器
2、文本区
TextArea() 构造文本区
TextArea(String s) 构造文本区,显示s
TextArea(String s,int x,int y) 构造文本区,x行,y列,显示s
TextArea(int x,int y) 构造文本区,x行,y列
TextArea(String s,int x,ing y,int scrollbar)
scrollbar的值是:
TextArea.SCROLLBARS_BOTH
TextArea.SCROLLBARS_VERTICAL_ONLY
TextArea.SCROLLBARS_HORIZONTAL_ONLY
TextArea.SCROLLBARS_NONE
setText(String s) 设置文本为s
getText() 获取文本
addTextListener() 添加监视器
removeTextListener() 移去监视器
insert(String s,int x) 在x处插入文本s
replaceRange(String s,int x,int y) 用s替换从x到y处的文本
append(String s) 在文本的最后追加文本s
Int getCaretPosition(int n) 获取文本区中光标的位置


按钮


1、按钮
Button() 构造按钮
Button(String s) 构造按钮,标签是s
setLabel(String s) 设置按钮标签是s
getLabel() 获取按钮标签
addActionListener() 添加监视器
removeActionListener() 移去监视器

标签

1、标签
Label() 构造标签
Label(String s) 构造标签,显示s
Label(String s,int x)
x是对齐方式,取值:
Label.LEFT
Label.RIGHT
Label.CENTER
setText(String s) 设置文本s
getText() 获取文本
setBackground(Color c) 设置标签背景颜色
setForeground(Color c) 设置字体颜色


选择框

1、选择框
Checkbox() 构造选择框
Checkbox(String s) 构造选择框,给定标题s
Checkbox(String s,boolean b) b设定初始状态
Checkbox(String s,boolean b,CheckboxGroup g) g设定了所属的组(有了组就成为单选框)
addItemListener() 添加监视器
removeItemListener() 移去监视器
getState() 返回选择框的是否选中状态
setState(boolean b) 设置选择框的状态
getLabel() 获取选择框的标题
setLabel(String s) 设置选择框的标题为s


选择控件和滚动列表

1、选择控件
Choice() 构造选择控件
add(String s) 向选择控件增加一个选项
addItemListener() 添加监视器
removeItemListener() 移去监视器
getSelectedIndex() 返回当前选项的索引
getSelectedItem() 返回当前选项的字符串代表
insert(String s,int n) 在n处插入选项s
remove(int n)
removeAll()
2、滚动列表
List() 构造滚动列表
List(int n) 参数n是可见行数
List(int n,boolean b) 参数b是设置是否可以多项选择
add(String s) 向列表的结尾增加一个选项
add(String s,int n) 在n处增加一个选项
AddActionListener() 滚动列表添加监视器
addItemListener() 滚动列表上的选项添加监视器
remove(int n) 删除n初的选项
remnoveAll() 删除全部选项
getSelectedIndex() 返回当前选项的索引
getSelectedItem() 返回当前选项的字符串代表


3、组件类的一些常用方法
void setBackground(Color c) 设置组件背景颜色
void setForeground(Color c) 设置组件前景颜色
void setFonts(Font f) 设置组件字体
void setBounds(int x,int y,int w,int h) 设置坐标,x,y表示在容器中坐标,w,h表示宽和高
void setLocation(int x,int y) 移动到x,y 处
void setSize(int w,int h) 设置宽和高
void setVisible(boolean b) 设置组建是否可见
int getBounds().wigth 获取宽
int getBounds().height 获取高
int getBounds().x 获取x 坐标
int getBounds().y 获取y 坐标
Toolkit getToolkit() 获取工具包对
void setEnabled(boolean b) 设置是否可以使用(默认可以)

窗口和菜单
1、窗口
Frame() 构造窗口
Frame(String s) 窗口标题是s
setBounds(int x,int y,int w,int h) 窗口位置x,y,宽w,高y
setSize(int w,int h) 设置窗口位置(单位是像素)
setBackground(Color c) 设置背景颜色
setVisible(boolean b) 设置窗口是否可见
pack() 窗口出现时紧凑
setTitle(String s) 设置标题为s
getTitle() 获取标题
setResizable(boolean b) 设置窗口大小是否可以调整
2、菜单条
Menubar() 构造菜单条
setMenubar() 窗口添加菜单条
3、菜单
Menu() 构造菜单
Menu(String s) 构造菜单,标题s
add
add(MenuItem item) 菜单增加菜单选项item
add(String s) 向菜单增加选项s
getItem(int n) 获取n处的选项
getItemCount() 获取选项数目
insert(MenuItem item,int n) 在n处插入菜单选项item
insert(String s,int n) 在n处插入菜单选项
remove(int n) 删除菜单的n处的菜单选项
removeAll() 删除全部
4、菜单项
MenuItem() 构造菜单项
MenuItem(String s) 构造标题是s的菜单项
setEnabled(boolean b) 设置是否可以被选择
getLabel() 得到菜单选项名
addActionListener() 添加监视器
5、有关菜单的技巧
addSeparator() 增加菜单分割线
CheckboxMenuItem() 复选框菜单项
setShortcut(MenuShortcut k) 设置快捷键(k取值KeyEvent.VK_A----KeyEvent.VK_Z)


建立对话框
1、Dialog类
Dialog(Frame f,String s) 构造对话框,初始不可见,s是标题,f是对话框所依赖的窗口
Dialog(Frame f,String s,boolean b) b设置初始是否可见
getTitle() 获取对话框标题
setTitle(String s) 设置对话框标题
setModal(boolean b) 设置对话框模式
setSize(int w,int h) 设置对话框大小
setVisible(boolean b) 显示或隐藏对话框
2、FileDialog类
Filedialog(Frame f,String s,int mode) mode的值是fileDialog.LOAD或者fileDialog.SAVE
public String getDirectory() 获取当前文件对话框中显示的文件所属目录
public String getFile() 获取当前文件对话框中文件的字符串表示,不存在返回null

Java中的鼠标和键盘事件
1、使用MouseListener借口处理鼠标事件
鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出
鼠标事件类型是MouseEvent,主要方法有:
getX(),getY() 获取鼠标位置
getModifiers() 获取鼠标左键或者右键
getClickCount() 获取鼠标被点击的次数
getSource() 获取鼠标发生的事件源
事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener()
处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法
mousePressed(MouseEvent) 负责处理鼠标按下事件
mouseReleased(MouseEvent) 负责处理鼠标释放事件
mouseEntered(MouseEvent) 负责处理鼠标进入容器事件
mouseExited(MouseEvent) 负责处理鼠标离开事件
mouseClicked(MouseEvent) 负责处理点击事件
2、使用MouseMotionListener接口处理鼠标事件
事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动
鼠标事件的类型是MouseEvent
事件源获得监视器的方法是addMouseMotionListener()
处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法
mouseDragged() 负责处理鼠标拖动事件
mouseMoved() 负责处理鼠标移动事件
3、控制鼠标的指针形状
setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书 P 210)
4、键盘事件
键盘事件源使用addKeyListener 方法获得监视器
键盘事件的接口是KeyListener 接口中有3个方法
public void keyPressed(KeyEvent e) 按下键盘按键
public void keyReleased(KeyEvent e) 释放键盘按键
public void keyTypde(KeyEvent e) 按下又释放键盘按键


Java多线程机制
1、Java的线程类与Runnable接口
Thread类
public Thread() 创建线程对象
public Thread(Runnable target) target 称为被创建线程的目标对象,负责实现Runnable接口
线程优先级
Thread类有三个有关线程优先级的静态常量:MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY
新建线程将继承创建它的副相承的优先级,用户可以调用Thread类的setPriority(int a)来修改
a的取值:
Thread.MIN_PRIORITY,Thread.MAX_PRIORITY,Thread.NORM_PRIORITY
主要方法
启动线程 start()
定义线程操作 run()
使线程休眠 sleep()
sleep(int millsecond) 以毫秒为单位的休眠时间
sleep(int millsecond,int nanosecond) 以纳秒为单位的休眠时间
currentThread() 判断谁在占用CPU的线程

输入输出流
1、FileInputStream类
FileInputStream(String name) 使用给定的文件名name创建一个FileInputStream对象
FileInputStream(File file) 使用File对象创建FileInpuStream对象
File类有两个常用方法:
File(String s) s确定文件名字
File(String directory,String s) directory是文件目录
例如:
File f=new File("Myfile.dat");
FileInputStream istream=new FileInputStream(f);
处理I/O异常
当出现I/O错误的时候,Java生成一个IOException(I/O异常)对象来表示这个错误的信号。
程序必须使用一个catch检测这个异常
例如:
try{
FileInputStream ins= new FileInputStream("Myfile.dat");
}
catch(IOException e){
System.out.println("File read Error:"+e);
}
从输入流中读取字节
int read() 返回0~255之间一个整数,如果到输入流末尾,则返回-1
int read(byte b[]) 读取字节数组
int read(byte b[],int off,int len) off指定把数据存放在b中什么地方,len指定读取的最大字节数
关闭流
close()
2、FileOutputStream类
FileOutputStream(String name) 使用指定的文件名name创建FileOutputStream对象
FileOutputStream(File file)使用file对象创建FileOutputStream对象
FileOutputStream(FileDescriptor fdobj)使用FileDescriptor对象创建FileOutputStream对象
3、FileReader类和FileWriter类
FileReader(String filename)
FileWriter(String filename)
处理时需要FileNotFoundException异常
4、RandomAccessFile类
RandomAccessFile不同于FileInputStream和FileOutputStream,不是他们的子类
当我们想对一个文件进行读写操作的时候,创建一个指向该文件的RandomAccessFile流就可以了
RandomAccessFile类有两个构造方法:
RandomAccessFile(String name, String mode) name是文件名,mode取r(只读)或rw(读写)
RandomAccessFile(File file,String mode) file给出创建流的源
seek(long a) 移动RandomAccessFile流指向文件的指针,a确定指针距文件开头的位置
getFilePointer() 获取当前文件的指针位置
close() 关闭文件
getFD() 获取文件的FileDescriptor
length() 获取文件长度
read() 读取一个字节数据
readBoolean() 读取一个布尔值
readByte() 读取一个字节
readChar()
readFloat()
readFully(byte b[])
readInt()
readLine()
readLong()
readUnsignedShort()
readUTF() 读取一个UTF字符串
setLength(long newLength) 设置文件长度
skipByte(int n) 在文件中跳过给定数量的字节
write(byte b[]) 写b.length个字节到文件
writeBoolean(bolean b)
writeByte(int v)
writeChar(char c)
writeChars(String s)
writeDouble(double d)
writeFloat(float v)
writeInt(int i)
writeLong(long l)
writeShort(int i)
writeUTF(String s)
5、管道流
PipedInputStream类
PipedInputStream() 创建一个管道输入流
PipedInputStream(PipedOutputStream a)连接到输出流a的输入流
read() 从输入流中读取一个字节
read(byte b[],int off,int len) off是在b中的开始位置,len是字节长度
PipedOutputStream类
PipedOutputStream() 创建一个输出流
PipedOutputStream(PipedInputStream a) 连接到输入流a的输出流
write(int b)
write(byte b[],int off,int len)
counnect() 连接输入输出流
close() 关闭流
在使用的时候要捕获IOException异常。
6、数据流
DataInputStream类(数据输入流)
DataInputStream(InputStream in) 将数据输入流指向一个由in指定的输入流
DataOutputStream类(数据输出流)
DataOutputStream(OutputStream out) 将数据输出流指向一个由out指定的输出流
主要方法:
close()
read() 读取一个字节数据
readBoolean() 读取一个布尔值
readByte() 读取一个字节
readChar()
readFloat()
readFully(byte b[])
readInt()
readLine()
readLong()
readUnsignedShort()
readUTF() 读取一个UTF字符串
skipByte(int n) 在文件中跳过给定数量的字节
write(byte b[]) 写b.length个字节到文件
writeBoolean(bolean b)
writeByte(int v)
writeChar(char c)
writeChars(String s)
writeDouble(double d)
writeFloat(float v)
writeInt(int i)
writeLong(long l)
writeShort(int i)
writeUTF(String s)
7、对象流
ObjectInputStream类和ObjectOutputStream类分别是DataInputStream类和DataOutputStream类的子类
8、回压输入流
PushbackInputStream类
PushbackInputStream(InputStream in)
PushbackReader类
PushbackReader(Reader in)
unread(char c) 回压一个字符
unread(char c[]) 回压数组c中全部字符
unread(char c[],offset,int n) 回压c中从offset开始的n个字符

java网络的基本知识
1、使用URL(统一资源定位)
例如:
try
{
url=new URL("http://www.sina.com.cn");
}
catch(MalformedURLException e)
{
System.out.println("Bad URL:"+url);
}
在Applet 中链接向另外的Web页面,使用代码:
getAppletContext().showDocument(url);
2、套接字
客户建立到服务器的套接字(Socket)
Socket(String host,int port) host是服务器的IP地址,port是端口号
建立了套接字后可以使用getInputStream()获得输入流
还可以使用getOutputStream()获得一个输出流
服务器建立接受客户套接字的服务器套接字(ServerSocket)
ServerSocket(int port) port是端口号
建立了套接字连接后可以使用accept()接收客户的套接字
可以使用getOutputStream()获得一个输出流
还可以使用getInputStream()获得一个输入流
3、InetAddress类
getByName(String )
3、InetAddress类
getByName(String s) 获取Internet上主机的地址
getHostName() 获取InetAddress对象所包含的域名
getHostAddress() 获取InetAddress对象所包含的IP地址
getLocalHost() 获取本地地址
4、UDP数据报
发送数据包,即使用DatagramPacket类将数据打包,有两种构造方法
DatagramPacket(byte data[],int length,InetAddress address,int port)
?含有data数组的数据
?该数据包将发送到地质是address,端口是port的主机上
DatagramPacket(byte data[],int offset,int length,InetAddress address,int port)
?含有data数组的从offset开始,length长度的数据
?该数据包将发送到地质是address,端口是port的主机上
接收数据包,即使用DatagramSocket(int port)创建一个对象,port必须和待接收的数据包的端口相同
例如:
如果发送方的数据包端口是5566
DatagramSocket mail=new DatagramSocket(5566);
然后对象mail可以使用方法receive(Datagrampacket pack)接收数据包
在使用参数pack 接收数据包前,必须创建pack
byte data[]=new byte[100];
int length=90;
DatagramPacket pack=new DatagramPataet(data,length);
mail.receive(pack);
该数据包pack将接收长度是length的数据放入data,注意数据长度不要超过8192KB
pack还可以调用方法getPort()获取所接受数据包是从什么端口发出的
调用方法InetAddress getAddress()可以获知数据包来自哪个主机


Java与图像
1、java支持的图像类型:GIF,JPEG,BMP
2、Image类
首先申请一个Image对象
Image img =getImage(URL url,String name) url是图像地址,name是图片名称
通常使用:
Image img =getImage(getCodBase(),String name) getCodBase()获取当前小应用程序的URL,也就是在同一目录下
图像被加载后,就可以在paint()中绘制了
drawImage(Image img,int x,int y,ImageObserver observer)
img是上面获取的图像, x,y是指定图像左上角的位置,observer是加载图像时的图像观察器
Applet类已经实现了ImageObserver接口,所以可以直接使用this作为最后一个参数
drawImage(Image img,int x,int y,int width,int height,ImageObserver observer)
width和height是要绘制的图像的宽和高
可以使用img.getHeight(this)和img.getWidth(this)来获取被加载的图像的宽和高
3、设置Java窗口图标
Frame对象可以使用setIconImage(Image img)方法设置左上角图标,默认图标是咖啡杯


Java数据库连接(JDBC)
1、JDBC-ODBC桥接器
建立JDBC-ODBC桥接器
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
连接到数据库
try
{
Connection con=DriverManager.getConnection("jdbcdbc:数据源名称","数据源的login name",
"数据源的password");
}
catch(SQLException e){}
向数据库发送SQL语句
try
{
Statement sql=con.createStatement();
}
catch(SQLException e){}
处理查询结果
ResultSet rs=sql.executeQuery("SQL语句");
第二十四章 Java与多媒体
1、在小程序中播放声音
java可以播放au,aiff,wav,midi,rfm格式的音频
可以调用Applet的一个静态方法:
newAudioClip(URL url,String name) url是地址,name是音频名称
也可以用Applet类的实例方法:
getAudioClip(URL url,String name)
根据url地址和声音文件name,获得一个用于播放的音频对象,这对象可以使用下面的方法来处理声音:
play() 播放声音文件name
loop() 循环播放name
stop() 停止播放name
2、Java媒体框架(JMF)
创建播放器
try
{
URL url=new URL(getDocumenBase(),视频文件名称);
player player=Manager.createPlayer(url);
}
catch(IOException e){}
向播放器注册控制监视器
player.addControllerListener(监视器);
创建监视器必须使用接口ControllerListener ,该接口中的方法是
public void controllerUpdate(ControllerEvent e)
让播放器对媒体进行预提取
player.prefetch()
启动播放器
player.start();
停止播放器
player.stop();
停止播放器后必须释放内存中的资源
player.deallocate();

Java Swing基础
1、Jcomponent类
Jcomponent类是所有轻量组件的父类,主要的子类有:
JButton 创建按钮对象,而且可以创建在图标的按钮
JComboBox 创建组合框对象,和Choice相似
JCheckBox 创建复选框对象
JFileChooser 创建文件选择器
JInternalFrame 创建内部窗体
JLabel 创建标签
JMenu 创建菜单对象
JMenuBar 创建菜单条对象
JMenuItem 创建菜单项对象
JPanel 创建面板对象
JPasswordField 创建口令文本对象
JPopupMenu 创建弹出式菜单
JProgressBar 创建进程条
JRadioButton 创建单选按钮
JScrollBar 创建滚动条
JScrollPane 创建滚动窗格
JSlider 创建滚动条
JSplitPane 创建拆分窗格
JTable 创建表格
JTextArea 创建文本区
JTexPane 创建文本窗格
JToolBar 创建工具条
JToolTip 创建工具提示对象
JTree 创建树对象
2、JFrame类
JFrame类及其子类创建的对象是窗体
(1)JFrame类及其子类创建的窗体是swing窗体
(2)不可以把组件直接加到swing窗体中,应该把组件加到内容面板中
(3)不能为swing窗体设置布局,而应当为内容面板设置布局
(4)swing窗体通过调用getContentPane()方法得到它的内容面板
3、JApplet类
(1)不可以把组件直接添加到小程序容器中,也应该添加到内容面板中
(2)不能为小程序设置布局
(3)小程序容器通过调用getContenPane()方法得到内容面板
4、JDialog类
(1)不可以把组件直接添加到对话框容器中,也应该添加到内容面板中
(2)不能为对话框设置布局
(3)对话框容器通过调用getContenPane()方法得到内容面板
5、JPanel面板
JPanel()
JPanel(布局对象)
6、滚动窗口JScrollPane
JScrollPane()
JScrollPane(component c)
7、拆分窗口JSplitPane
JSplitPane(int a,Component b,Component c)
a的取值是HORIZONTAL_SPLIT或者VERTICAL_SPLIT决定水平拆分还是垂直拆分
JSplitPane(int a,boolean b ,Component b,Component c) b的取值决定拆分线移动的时候组件是否连续变化
8、内部窗体JInternalFrame
JInternalFrame(String title,boolean resizable,booleam closable,boolean max,boolean min)
参数的意义分别是窗口名称,是否能调整大小,是否有关闭按钮,最大化按钮,最小化按钮
(1)不能把组件直接加到窗体中,而是加到内容面板中
(2)必须先把内部窗体加到一个容器中(JDesktopPane),该容器是专门为内部窗体服务的
9、按钮(JButton)
JButton() 创建按钮
JButton(String s) s是按钮的名字
JButton(Icon icon) icon是按钮上的图标
JButton(String s,Icon icon)
getText() 获取按钮名字
getIcon() 获取按钮图标
setIcon(Icon icon) 设置按钮图标
setHorizontalTextposition(int a) a确定按钮上图标的位置,取值:
AbstractButton_CENTR,AbstractButton_LEFT,AbstractButton_RIGHT
setVerticalTextposition(int a) a确定按钮上名字相对图标的位置,取值:
AbstractButton.TOP,AbstractButton.BOTTOM,AbstractButton.CENTR
setMnemonic(char c) 设置按钮的键盘操作方式是字符c(Alt+c)
setEnabled(boolean b) b决定按钮是否可以被单击

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值