用Java语言设计一个java登陆界面设计,

//例8.1 窗口容器
*本例介绍的应用程序创建一个可以移动、改变大小、最大化、可变成图标且可以关闭的窗口
*运行程序可以弹出窗口对象,结果如图所示
import javax.swing.*;
import java.awt.*;
public class JF0 extends JFrame
public JF0(String s)
super(s); //调用父类JFrame的构造方法,给窗口命名
setBounds(200,200,500,400); //设置窗口位置,窗口大小
setVisible(true);
//设置窗口是否可见
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
catch (Exception e) {}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗口关闭动作
public static void main(String[] args)
JF0 d=new JF0(&主窗口&);
//例8.2 对话框容器
//创建对话框例子,程序运行结果如图所示
import javax.swing.*;
public class JD extends JDialog
public JD(JFrame f,String s)
super(f,s);
//调用父类JDialog的构造方法,给对话框窗口命名
setBounds(300,300,200,200); //设置对话框窗口大小位置
setVisible(true); //设置对话框窗口是否可见
setModal(false); //设置对话框窗口模式,此为无模式
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
public static void main(String[] args)
JF0 f=new JF0(&主窗口&); //创建一个主窗口对象,f是实例化JF0类创建的
JD d=new JD(f,&这是一个对话框窗口&);//创建一个对话框窗口对象
//例8.3 面板容器
//创建含有面包窗口的例子,程序运行结果如图所示
import javax.swing.*;
import java.awt.*;
import java.awt.C
public class JP1 extends JFrame
public JP1(JFrame f,int x,int y,int w,int h)
Container c=getContentPane();
//调用getContentPane()方法创建Container内容面板对象c
c.setLayout(null); //设置不采用任何布局方式
c.setBackground(Color.yellow); //设置面包的被解释为黄色
//将内容面板c加入窗口对象f中
JPanel p=new JPanel();
//创建面板对象p
p.setBounds(x,y,w,h);
//设置面板p的位置,大小
p.setBackground(Color.blue);//设置面板的背景色为蓝色
//将面板p加入到窗口的内容面板c中
public static void main(String[] args)
//创建一个JP1类的对象f1,它是一个具有内容面板对象c、
//普通面板p的窗口对象
JP1 f1=new JP1(new JF0(&添加面板的窗口&),100,50,200,200);
//例 8.4 标签组件
//本例应用程序用来创建添加有不同标签的窗口,程序运行结果如图
import javax.swing.*;
import java.awt.*;
public class JL1 extends JFrame
private JL
public JL1(JFrame f,JPanel p)
//将面板p加入窗口f中
label=new JLabel(&显示文字的标签&);//使用文本创建一个标签对象
label.setFont(new Font(&Serif&,Font.PLAIN,20)); //设置标签字体
label.setToolTipText(&这是标签对象&); //设置标签的工具提示
p.add(label); //将标签对象添加到面板对象p上
public static void main(String[] args)
JL1 f1=new JL1(new JF0(&添加标签的窗口&),new JPanel());
//例8.5 按钮组件
//本例应用程序用来创建添加有不同按钮的窗口,程序运行结果如图
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JB extends JFrame
private JButton button1,button2;
public JB(JFrame f,JPanel p)
//将面板p加入到窗口f中
button1=new JButton(&按钮1&); //创建按钮对象
button1.setFont(new Font(&Serif&,Font.PLAIN,20));
ImageIcon img1=new ImageIcon(&F:/1.jpg&);
ImageIcon img2=new ImageIcon(&F:/2.gif&);
button2=new JButton(&按钮2&,img2);
button2.setRolloverIcon(img1);
button2.setFont(new Font(&Serif&,Font.PLAIN,10));
//为组件注册监听器
BHandler h=new BHandler();
button1.addActionListener(h);
button2.addActionListener(h);
//将各种组件添加到内容面板
p.add(button1);
p.add(button2);
public static void main(String[] args)
JB f1=new JB(new JF0(&添加按钮的窗口&),new JPanel());
private class BHandler implements ActionListener
public void actionPerformed(ActionEvent event)
JOptionPane.showMessageDialog(JB.this,&你按了: &+event.getActionCommand());
//例8.6 文本框组件
//本例应用程序用来创建添加有不同文本框的窗口,程序运行结果如图
import javax.swing.*;
import java.awt.*;
public class JT extends JFrame
private JTextField t1,t2,t3;
private JPasswordField k1;
public JT(JFrame f,JPanel p)
//将面板p加入到窗口f中
p.setLayout(new FlowLayout());
p.setBackground(Color.YELLOW);
t1=new JTextField(10); //创建文本框对象,宽度为10
t2=new JTextField(&请输入文本&);//创建带有初始文本的文本框对象
t2.setFont(new Font(&Serif&,Font.PLAIN,12)); //设置字体
t3=new JTextField(&不可编辑的文本框&,20);
//创建带有初始文本的文本框,宽度为20
t3.setFont(new Font(&Serif&,Font.PLAIN,12));
t3.setEditable(false);
//设置该文本框为不可编辑状态
k1=new JPasswordField(&口令&,10);
//创建密码框
p.add(t1); p.add(t2); p.add(t3); p.add(k1);
public static void main(String[] args)
JT d=new JT(new JF0(&添加文本框的窗口&),new JPanel());
//例8.7 文本区的组件
//本例应用程序用来创建添加有两个文本区组件的窗口,程序运行结果如图
import java.awt.*;
import javax.swing.*;
public class JTA extends JFrame
private JTextArea ta1,ta2,ta3,ta4;
public JTA(JFrame f,JPanel p)
p.setLayout(new GridLayout(4,1,5,5));
ta1=new JTextArea();
//利用不同的构造方法创建文本区对象
ta2=new JTextArea(2,8);
ta3=new JTextArea(&3&);
ta4=new JTextArea(&4&,5,10);
ta1.setFont(new Font(&Serif&,Font.PLAIN,12));
ta2.setFont(new Font(&Serif&,Font.PLAIN,12));
ta3.setFont(new Font(&Serif&,Font.PLAIN,12));
ta4.setFont(new Font(&Serif&,Font.PLAIN,12));
ta1.setText(&JTextArea1&);
//setText()方法会将原来的内容清除
ta2.append(&JTextArea2&);
//append()方法会将设置的字符串接在原来文本区文字之后
ta4.setTabSize(10);
//设置[Tab]键的跳离距离方法
ta4.setLineWrap(true);
//自动换行功能方法
ta4.setWrapStyleWord(true);
//断行不断字功能方法
p.add(new JScrollPane(ta1)); p.add(new JScrollPane(ta2));
p.add(new JScrollPane(ta3)); p.add(new JScrollPane(ta4));
public static void main(String[] args)
JTA d=new JTA(new JF0(&添加文本区的窗口&),new JPanel());
//例8.8 单选按钮组件
//本例应用程序用来创建包含3个颜色单选按钮的窗口,根据选择可以显示不同的颜色
//程序运行结果如图
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JR extends JFrame
private JPanel p1,p2;
private JRadioButton red,green,
private ButtonGroup buttonG
public JR(JFrame f)
Container c=getContentPane(); //创建内容面板对象c
p1=new JPanel();
//创建一个用来显示颜色的面板对象
p1.setBackground(Color.RED);
c.add(p1,BorderLayout.CENTER);
buttonGroup=new ButtonGroup(); //创建单选按钮组
red=new JRadioButton(&红色&,true);
green=new JRadioButton(&绿色&);
blue=new JRadioButton(&蓝色&);
red.setFont(new Font(&Serif&,Font.PLAIN,14)); //设置字体
green.setFont(new Font(&Serif&,Font.PLAIN,14));
blue.setFont(new Font(&Serif&,Font.PLAIN,14));
buttonGroup.add(red); buttonGroup.add(green); buttonGroup.add(blue);
//添加选项按钮到组中
rHandler h=new rHandler();
//创建监听器
red.addItemListener(h); blue.addItemListener(h);
green.addItemListener(h);
p2=new JPanel();
//创建存放单选按钮的面板
p2.add(red); p2.add(green); p2.add(blue);
c.add(p2,BorderLayout.SOUTH);
public static void main(String args[])
JR application=new JR(new JF0(&通过单选框选择颜色的窗口&));
private class rHandler implements ItemListener
public void itemStateChanged(ItemEvent event){
if(red.isSelected()) p1.setBackground(Color.red);
else if(green.isSelected()) p1.setBackground(Color.GREEN);
else p1.setBackground(Color.BLUE);
//例8.9 复选框
//本例应用程序用来创建包含两个字体复选按钮的窗口,
//根据选择可以改变窗口标签对象的字体
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Jcb extends JFrame
private JL private JCheckBox b,i;
public Jcb(JFrame f)
Container c=getContentPane(); c.setLayout(new FlowLayout());
c.setBackground(Color.YELLOW);
label=new JLabel(&请注意观察字体的变化&);
label.setFont(new Font(&Serif&,Font.PLAIN,20));//创建标签对象,并设置字体
c.add(label);
b=new JCheckBox(&粗体&);
//创建复选框
i=new JCheckBox(&斜体&);
b.setFont(new Font(&Serif&,Font.PLAIN,16));
i.setFont(new Font(&Setif&,Font.PLAIN,16));
b.setBackground(Color.YELLOW);
i.setBackground(Color.YELLOW);
CBHandler h=new CBHandler();
//创建监听器对象
b.addItemListener(h); i.addItemListener(h); //注册监听器
c.add(b); c.add(i);
public static void main(String args[])
Jcb d=new Jcb(new JF0(&包含复选框的窗口&));
private class CBHandler implements ItemListener
private int vb=Font.PLAIN;
private int vi=Font.PLAIN;
public void itemStateChanged(ItemEvent e)
if(e.getSource()==b)
vb=b.isSelected()?Font.BOLD:Font.PLAIN;
if(e.getSource()==i)
vi=i.isSelected()?Font.BOLD:Font.PLAIN;
label.setFont(new Font(&Serif&,vb+vi,20));
//例8.10 下拉列表组件
//本例应用程序用来创建一个下拉列表组件的窗口
//根据选择下拉列表的菜单可以显示不同的文字,程序运行结果如图
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Jlb extends JFrame
private JComboB
private JL
private String names[]={&北京大学&,&复旦大学&,&南京大学&,&武汉大学&};
public Jlb(JFrame f)
Container c=getContentPane();
c.setBackground(Color.YELLOW);
lbk=new JComboBox(names); //创建下拉列表对象
lbk.setMaximumRowCount(4);
//设置下拉列表所能显示的列表项的最大数目
lbk.setSelectedIndex(0); //设置默认的选择项
lbk.setFont(new Font(&Serif&,Font.PLAIN,14)); //设置字体
lbk.addItemListener(new lbHandler());
//注册监听器
label=new JLabel(&你选择了:北京大学&);
label.setFont(new Font(&Serif&,Font.PLAIN,14));
c.add(lbk,BorderLayout.NORTH);
c.add(label,BorderLayout.CENTER);
public static void main(String []args)
Jlb d=new Jlb(new JF0(&下拉列表窗口&));
private class lbHandler implements ItemListener
public void itemStateChanged(ItemEvent e)
if(e.getStateChange()==e.SELECTED)
label.setText(&你选择了:&+names[lbk.getSelectedIndex()]);
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1656749次
积分:22775
积分:22775
排名:第132名
原创:574篇
转载:81篇
评论:1653条
难度:初级
类型:实战教学
阅读:45696
阅读:25488
文章:14篇
阅读:70687
文章:11篇
阅读:70735
文章:10篇
阅读:43595
文章:13篇
阅读:20218
文章:13篇
阅读:175636
移动开发者狂热群:注明入群理由,里面有一群热爱分享的开发者
(1)(2)(3)(4)(12)(1)(5)(5)(6)(7)(2)(13)(11)(11)(8)(14)(10)(16)(8)(15)(23)(13)(12)(12)(11)(17)(28)(18)(20)(8)(11)(20)(13)(14)(10)(23)(18)(15)(36)(27)(47)(16)(3)(28)(33)(14)(13)
从入门到成长到成熟再到优秀,大多数程序员走了前面一段相似的道路,而有些人却走得更远一些!!!!JAVA语言程序设计基础-桂超-教材-文轩网
定  价 : ¥26.00
文 轩 价 : ¥20.50 (7.9折)
配 送 至 : 中国四川省成都市
中国 四川省 成都市 请选择
作  者 :
所属分类 :
促销活动 : 读书消暑节.图书音像满150立减15,满66立减5,畅销书低至5折!(电子书、百货除外)
购买数量 :
件 此商品已售出0本
服  务 : 由"文轩网"直接销售和发货,并提供售后服务 |||
购买最佳搭配 定 价:¥26.00 文轩价:¥20.50
¥20.50 (7.9折)
作 者: 出版社: 出版时间: 开 本:16开 页 数:无 印刷时间: 字 数:无 装 帧:平装 语  种:中文 版 次:1 印 次:1 I S B N:0
重磅推荐 文艺小说 少儿童书 经管励志 居家生活 科技考试
¥30.90¥49.80
¥26.30¥39.80
¥17.40¥26.80
¥298.50¥398.00
¥14.90¥28.80
¥44.90¥59.80
¥29.00¥42.00
¥24.50¥49.80
¥24.80¥36.00
¥24.80¥36.00
¥158.00¥295.20
¥23.50¥36.80
¥17.00¥25.00
¥21.60¥32.80
¥23.20¥36.80
¥18.00¥35.00
¥19.00¥36.00
¥20.50¥29.80
¥17.50¥25.00
¥23.80¥35.00
¥23.90¥39.80
¥25.50¥39.50
¥26.80¥39.50
¥23.40¥35.00
¥29.60¥39.00
¥46.80¥72.00
¥14.20¥20.90
¥25.90¥36.00
¥14.30¥22.00
¥13.60¥20.90
¥6.30¥10.00
¥9.90¥18.00
¥19.70¥29.00
¥16.00¥25.00
¥193.80¥285.00
¥56.50¥91.20
¥33.10¥48.00
¥23.80¥35.00
¥26.60¥38.00
¥30.40¥49.00
¥22.20¥39.80
¥48.40¥69.00
¥23.00¥34.80
¥85.00¥100.00
¥22.50¥39.80
¥23.80¥39.00
¥19.90¥39.80
¥26.20¥42.00
¥18.20¥28.00
¥18.20¥28.00
¥26.50¥39.80
¥32.40¥49.80
¥25.50¥39.90
¥24.20¥39.00
¥24.80¥36.00
¥68.40¥99.00
¥24.70¥39.80
¥21.00¥35.00
¥67.60¥98.00
¥22.80¥35.00
¥221.40¥246.00
¥222.30¥247.00
¥219.60¥244.00
¥225.00¥250.00
¥28.10¥38.00
¥26.60¥36.00
¥145.80¥162.00
¥147.60¥164.00
¥148.50¥165.00
¥146.70¥163.00
¥327.20¥385.00
¥344.40¥405.00
本书由浅入深地介绍了Java语言的基础知识和编程的特点,旨在培养读者运用面向对象程序设计方法去解决实际问题的能力,是学习面向对象程序设计知识的基础教材。本书实例丰富,能够增强读者对相关内容的理解。同时,本书是对作者多年教学经验的总结,并融入了一定的实际编程技术。本书内容丰富,系统性强,可作为高等院校Java语言程序设计课程的教材,也可供从事软件开发和应用的人员参考。
隐藏全部&&第1章&&Java发展概述11.1&&程序设计语言的发展11.2&&Java语言11.2.1&&Java语言的发展历史11.2.2&&Java语言的特点21.3&&Java的开发与运行环境41.3.1&&J2SDK的安装41.3.2&&J2SDK的设置51.4&&开发与运行Java程序的步骤51.4.1&&选择编辑工具51.4.2&&编译与运行Java程序5第2章&&Java语言程序和HTML简介72.1&&Java语言的Application程序72.1.1&&源代码的编辑72.1.2&&字节码文件的生成82.1.3&&字节码文件的解释执行92.2&&HTML简介102.2.1&&HTML的基本要素122.2.2&&HTML文件的结构132.2.3&&在HTML文件中加入图像、链接和声音132.2.4&&Applet标记152.2.5&&常用的HTML标记152.2.6&&HTML文件的编辑162.3&&Java语言的Applet程序172.3.1&&源代码的编辑172.3.2&&代码的嵌入182.3.3&&Applet程序的运行182.4&&Java语言字符界面的输入输出202.5&&Java语言图形界面的输入输出212.5.1&&Java&Applet图形界面的输入输出222.5.2&&Java&Application图形界面的输入输出23第3章&&Java语言的数据类型263.1&&Java的标识符263.2&&Java的关键字263.3&&Java的常量和变量283.3.1&&常量和符号常量283.3.2&&变量303.3.3&&变量作用域303.4&&Java的基本数据类型303.4.1&&整型303.4.2&&实型313.4.3&&字符型323.4.4&&布尔型323.5&&变量的初始化323.6&&简单程序举例33第4章&&Java语言的运算符和表达式374.1&&赋值、算术运算符及其表达式374.1.1&&赋值运算符及其表达式374.1.2&&算术运算符及其表达式384.2&&关系、逻辑运算符及其表达式404.2.1&&关系运算符及其表达式404.2.2&&逻辑运算符及其表达式424.3&&位运算符和表达式434.3.1&&计算机内数据的表示434.3.2&&位运算符及其表达式444.4&&其他运算符474.5&&Java语言运算符的优先级和结合性484.6&&数据类型的转换494.6.1&&数据类型的自动转换494.6.2&&数据类型的强制转换49第5章&&Java语言的基本语句515.1&&Java语言的3种基本结构515.2&&顺序结构语句515.2.1&&变量声明语句和表达式语句515.2.2&&复合语句和分程序525.3&&选择结构语句535.3.1&&条件运算符535.3.2&&if~else语句545.3.3&&switch~case语句605.4&&循环结构语句625.4.1&&while语句625.4.2&&for语句635.4.3&&do~while语句645.4.4&&循环嵌套655.5&&转移控制语句665.5.1&&break语句665.5.2&&continue语句68第6章&&数组、字符串和向量736.1&&一维数组736.1.1&&一维数组的声明736.1.2&&创建一维数组736.1.3&&一维数组的初始化746.1.4&&一维数组应用举例746.2&&多维数组756.2.1&&多维数组声明756.2.2&&创建多维数组756.2.3&&多维数组的初始化766.2.4&&多维数组应用举例766.3&&字符数组776.3.1&&字符数组声明786.3.2&&创建字符数组786.3.3&&字符数组初始化及其举例786.4&&不变字符串String类806.4.1&&String类的构造方法806.4.2&&字符串的常用方法826.4.3&&字符串与子字符串的操作826.4.4&&toString方法及其他方法846.5&&可变字符串StringBuffer类846.5.1&&StringBuffer类的构造方法846.5.2&&StringBuffer类的常用方法856.6&&向量866.6.1&&向量的声明866.6.2&&Vector类的常用方法87第7章&&Java语言的方法897.1&&return语句897.2&&Java语言方法的定义、返值和调用907.2.1&&Java语言方法的修饰符907.2.2&&Java语言方法的定义917.2.3&&Java语言方法的调用937.2.4&&Java语言方法的返值947.3&&方法之间的数据传递957.3.1&&方法间的数值传递967.3.2&&方法间的引用传递967.4&&Java语言方法的递归调用987.5&&Java语言方法的命令行参数103第8章&&类的声明和对象的实例化1058.1&&Java的类1058.1.1&&类的定义1058.1.2&&类的修饰符1068.1.3&&类的类体1078.1.4&&类的构造方法1088.2&&类的成员变量1098.2.1&&类成员变量的声明1098.2.2&&类成员变量的修饰1118.3&&类的成员方法1138.3.1&&成员方法的设计1138.3.2&&成员方法的声明和修饰1158.3.3&&方法体1178.3.4&&消息的传递1188.4&&Java对象的实例化1198.4.1&&创建对象1198.4.2&&使用对象1198.4.3&&清除对象1208.5&&Java类的继承1208.5.1&&继承的概念1208.5.2&&继承的实现121第9章&&接口和包1259.1&&抽象类和方法1259.1.1&&定义抽象类1259.1.2&&抽象类的实现1269.2&&接口1289.2.1&&接口的概念1289.2.2&&定义接口1289.2.3&&接口的特点和实现1299.3&&包1349.3.1&&包的概念1349.3.2&&包的定义1359.3.3&&存放的位置1359.3.4&&包的引用1369.3.5&&将多个独立的类放入同一个包中136第10章&&异常处理14110.1&&Java的异常处理机制14210.2&&异常处理方法14310.2.1&&try…catch…finally结构14410.2.2&&抛出异常14910.2.3&&自定义异常152第11章&&输入和输出15611.1&&输入输出类库15611.2&&标准输入输出16011.3&&文件操作161第12章&&图形用户界面GUI17212.1&&AWT包17212.1.1&&屏幕坐标体系17312.1.2&&建立窗口的Frame类17512.1.3&&使用基本组件17712.1.4&&AWT图形用户界面的深入学习18912.2&&Java语言中的事件处理19412.2.1&&事件处理机制19412.2.2&&可用的事件监听者和它们处理的事件类型19512.2.3&&事件及其响应19612.2.4&&在Java中的事件处理方式19912.3&&swing包20312.3.1&&Swing&的层次结构及具体组件20412.3.2&&创建JFrame窗口20512.3.3&&窗口事件20612.3.4&&swing包中常用的组件208第13章&&高级用户界面GUI设计21713.1&&布局管理器21713.1.1&&布局管理器的概念21713.1.2&&Border布局管理器21813.1.3&&Flow布局管理器22013.1.4&&Card布局管理器22113.1.5&&Grid布局管理器22313.1.6&&Box布局管理器22413.2&&键盘和鼠标事件的处理22513.2.1&&键盘事件22513.2.2&&鼠标事件22613.3&&菜单设计22813.4&&对话框设计25113.4.1&&JoptionPane25113.4.2&&Dialog25213.5&&窗口25413.5.1&&JPanel容器25413.5.2&&JscrollPane255第14章&&多线程技术25714.1&&多线程的基本概念25714.1.1&&多线程25714.1.2&&Windows平台上线程的运行机制25714.2&&线程的状态25914.2.1&&线程的生命周期25914.2.2&&线程类26014.3&&线程体及其构造26114.3.1&&线程体26114.3.2&&采用直接继承构造线程体26114.3.3&&采用实现Runnable接口构造线程体26214.4&&线程同步控制26314.4.1&&synchronized关键字26314.4.2&&wait(&)、notify(&)/notifyall(&)26514.4.3&&同步控制的信号量26614.4.4&&线程同步的示例267参考文献274&&&
隐藏全部&&
好评 中评 差评 天猫评论
文轩网作为纸质出版物网络销售平台,所售图书均为全新正版,请放心购买。
文轩网图书/音像单笔订单满38元免运费(内蒙古、青海、海南、新疆、西藏、宁夏及海外地区除外)。未满38元全国运费5元/单。
与文轩网合作的物流公司有:申通/圆通/CCES/港中能达/邮政经济快递/邮政平邮等。(发货系统自动匹配,暂时无法指定快递)
没有解决您的问题?
暂无提问,您可以咨询我们,我们会在一个工作日内响应~JAVA语言的图形用户界面的设计与实现_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
JAVA语言的图形用户界面的设计与实现
J​A​V​A​语​言​的​图​形​用​户​界​面​的​设​计​与​实​现​。
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢热销排行榜
1.2.3.4.5.6.7.8.9.10.
最近浏览的其他商品
浏览更多同类商品
【 】??????????
Java语言与面向对象程序设计
计算机科学与技术系列教材
978-7-307-05867-5
武汉大学出版社
出版日期:
读者对象:
¥26.90&&&
立刻节省:¥12.10
所属分类:
微信公众平台服务号开..
Swift开发实践
unity 4.X从入门到精..
疯狂Java讲义-(第3版)..
R语言编程艺术
&&& Java目前不仅是一门最为流行的计算机语言,而且是一个优秀的纯面向对象语言。本
& 书从Java的基本概念入手,介绍了Java语言的基础知识与主要功能,系统分析了Java语
& 言的面向对象的编程机制,并用软件工程的理论和方法,阐述了使用Java语言进行面向对
& 象的程序设计技巧。本书还介绍了一些Java语言的高级特性,如网络编程、数据库连接、
& 多线程等。可广泛适用于计算机及相关专业的本科生作为学习Java语言的教材,也适合软
& 件开发人员及其他有关人员参考学习。
&&& Java语言自1995年诞生以来,在短短的几年时间内以迅猛的速度席卷全球,已形成一
种专门的技术。十几年的历史证明,Java在IT业的应用二直保持着强劲的增长势头,为网
络科技和网络经济超常发展提供了强大的动力和支持。
&&& 本书跟踪了Java语言的最新发展动向。全书共分十三章,介绍了Java语言的基础知识
与主要功能,系统分析了Java语言的面向对象的编程机制,并用软件工程的理论和方法,
阐述了使用Java语言进行面向对象的程序设计技巧。本书还介绍了一些Java语言的高级特
性,如网络编程、数据库连接、多线程等。
&&& 本书第一章主要介绍了Java的发展、语言特点、最新版本和展示Java的独立应用程序
和Applet程序的小实例,使读者对Java语言有一个概貌性的了解。第二章介绍了面向对象
的基础知识,讨论了一般的面向对象的分析、设计和编程的基本概念。第三章介绍了Java
编程的基础知识,主要包括数据类型、变量、表达式和流程控制语句。第四、五两章介绍了
Java面向对象编程的知识,以类为中心详细地讨论了面向对象技术的封装、抽象、继承和多
态等特征及其在面向对象程序设计中的具体应用。第六章介绍Java自定义的常用数据结构,
包括字符串类、向量、列表、集合等。第七章介绍异常处理,掌握这一章的内容能够保证编
写的程序有足够的强壮性。第八章介绍Java图形用户界面的设计和编程实现,通过这章的
学习,读者可以编写出丰富多彩程序界面。第九章介绍流和文件,这一章不仅是文件和输入
输出操作的基础,也是后续的Java高级编程如网络编程的基础。第十章介绍Applet的设计,
Applet能够使Java语言在Web上充分展示其魅力。第十一章介绍Java的多线程编程和异常
处理,掌握这一章的内容可以编写出功能复杂的多线程程序,实现某些需要并行完成的任务。
第十二章介绍网络编程,这一章充分显示了Java的强大网络编程功能。第十三章介绍Java
数据库连接(JDBC),掌握JDBC可以很方便地在Java程序中引入数据库应用。
&&& 本书可广泛适用于计算机及相关专业的本科生和研究生作为学习Java语言的教材,也
适合软件开发人员及其他有关人员作为自学的参考书或培训教程。
&&& 在本书的编写过程中,得到了武汉大学出版社黄金文老师的大力支持,在此谨向他表示
衷心感谢。
&&& 由于时间和水平所限,难免有错,恳请读者批评指正,使本书得以改进和完善。
&&& 2007年8月
第六章Java自定义的常用数据结构
&&& 为了方便地对常用的数据结构进行描述和处理,Java语言提供了自定义的数据结构类和
& 接口,本章对String、StringBuffer、Vector、List和Set等进行介绍。
&&& 字符串是字符的序列,它是组织字符的基本的数据结构。字符串操作是一个计算机语言
& 最常用的操作,在Java的核心包java.1ang中封装的类String和StringBuffer可用于字符串的
& 操作。Java将字符串当做对象来处理,它提供了一系列的方法对整个字符串进行操作,使得
& 字符串的处理更加容易和规范。其中类String对象是字符串常量,建立后不能改变。而
& StringBuffer类对象类似于一个字符缓冲区,建立后可以修改。在本章中,将讨论字符串的
& 表示、生成、访问、修改以及一些处理字符串的方法。
&&& 本章另外要介绍的Vector(向量)、List(列表)和Set(集合)均封装在包java.util中。
& Vector类实现了Collection和List接口,List和Set是Collection接口的子接口,它们属于Java
& 语言的容器类。容器类可以大大提高编程效率和编程能力,这里所介绍的容器类都有共同的
& 特点,它们可用于处理一组独立的元素,通常这些元素都服从某种规则,Vector、List必须
& 保持元素特定的顺序,而Set不能有重复元素。
& 6.1& Str i ng类
& 6.1.1& Str i ng类字符串的定义
&&& String类是字符串常量类,String对象建立后不能修改。以前使用的每个字符串常量(用
& 双引号括起来的一串字符)实际上都是String对象,如字符串&Java&即为String对象。因
& 此,可以用字符串常量直接初始化一个String对象。例如:
&&& String s=&Hello World!&:
&&& 由于每个字符串常量对应一个String类的对象,所以对一个字符串常量可以直接调用类
String中提供的方法,例如:
&&& int len=&Hello World!&.1ength();
&&& 将返回字符串的长度12,字符串的长度即字符串中字符的个数。
&&& 通过类String提供的重载的构造方法,可以给出不同的方法参数来生成所需的字符串对
象。常用的String类构造方法有:
&&& &String()创建一个空字符串对象(未包含任意字符的字符串)。
&&& &String(String value)用已知字符串value创建一个字符串对象。
&&& &String(char chars[])用字符数组chars创建一个字符串对象。
&String(char chars[],int startIndex,iIlt numChars)用字符数组chars的startIndex位置开
&&& 始的numChats个字符,创建一个字符串对象。
&&& &String(byte ascii【】'int hiByte)用字节数组ascii创建一个字符串对象,Unicode字符的
&&& 高位字节为hiByte,通常应该为0。
&&& &.String(byte ascii【],int hiByte,int startIndex,int numChars)用字节数组ascii创建一个字符
&&& 串对象。其参数的意义同上。
&&& 由于在Intemet上通常使用的字符都为8位的ASCII码,Java提供了从字节数组来初始
化字符串的方法,并且用hiByte来指定每个字符的高位字节,对ASCII码来说,hiByte应
为0,对于其他非拉丁字符集,hiByte的值应该非0。
[例6.1]& String类的构造方法的使用。
public class StringConstructors{
&public static void main(String args[]){
&&& String s,s 1,s2,s3,s4,s5,s6,s7;
&&& byte byteArray[] = { (byte)'J',(byte)'a',(byte)'v',(byte)'a'};
&&& char charArray[] = {'程序设计&};
&&& StringBuffer sb = new StringBuffer(&欢迎~&);
&&& s = new StringCHello!&);
&&& sl = new String();
&&& s2 = new String(s);
&&& s3 = new String(sb);
&&& s4 = new String(charArray,2,2);
&&& s5 = new String(byteArray);
&&& s6 = new String(charArray);
&&& s7 = new String(byteArray,0,1);
&&& System.out.printlnCs = &+ s );
&&& System.out.printlnCsl = &+ sl);
&&& System.out.printlnCs2 = &+ s2);
&&& System.out.printlnCs3 = &+ s3);
&&&& System.out.printlnCs4 = &+ s4);
&&&& System.out.println(&s5 = &+ s5);
&&&& System.out.printlnCs6 = &+ s6);
&&&& System.out.printlnCs7 = &+ s7);
6.1.2 Str i ng类的常用方法及其应用
&&& 类String中提供的访问String字符串的方法很多,大体上可分为类转换、子字符串、比
较、修改等几类。
& 1.字符串的比较
String类提供了一些方法,用来进行字符串的比较。
&&& (1)boolean equals(Object anObject)和equalsIgnoreCase(String anotherString)
&&& 方法equals和equalsIgnoreCase用来比较两个字符串的值是否相等,不同的是后者忽略
字母的大小写。例如:
&&& System.out.println(&abc&.equals(&abc&));&&& &输出为true
&&& System.out.println(&abc&.equalsIgnoreCase(&ABC&));& &输出为true
&&& 注意:它们与运算符&==&实现的比较是不同的。运算符&==&比较两个字符串对象是否引
用同一个实例对象,而equals和equalsIgnoreCase则比较两个字符串中对应的每个字符是否
相同。可以用下面的例来说明这个问题。
&&& &字符串相同但字符串对象不同:
String s = new String(&abc&);
String si= new String(&abc&);
System.out.println(s.equals(s 1));
System.out.println( s --= sl );
/二,字符串相同,输出为true
&字符串对象不同,输出为false
&字符串相同而且字符串对象也相同:
String s = &abc&;
String sl= &abc&;
System.out.println(s.equals(s 1));
System.out.println( s == sl );
System.out.println(&abc& == &abc&);
&字符串相同,输出为true
&字符串对象相同,输出为true
//字符串对象相同,输出为true
第一章Java概述&&&&&&&&&&&&&&&&&&&&&&&&& 1
& 1.1 Java技术的出现与形成&&&&&&&&&&&&&&&&&&&&&&&&&l
&&& 1.1.1 Java技术的发展&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1
&&& 11.2 Java技术的应用&&&&&&&&&&&&&&&&&&&&&&&&&&&&2
& 1.2 Java语言的特色&&&&&&&&&&&&&&&&&&&&&&&&&&&&3
&&& 1.2.1 Java语言的特点&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&3
&&& 1.2.2 Java程序的工作机制&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&3
& 1.3 Java的开发和执行环境&&&&&&&&&&&&&&&&&&&&&&&&&&4
&&& 1.3.1 JDK的下载和安装&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 4
&&& 13.2 mK的环境设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&5
&&& 1.3.3 Java SE常用开发工具简介&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&6
&&& 1.3.4为自己的开发准备文件夹&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&7
& 1.4简单的Java程序及其开发方法&&&&&&&&&&&&&&&&&&&&&&7
&&& 1.4.1 Java应用程序&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&8
&&& 1.4.2 Java小程序&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&9
& 1.5 Java程序的结构剖析&&&&&&&&&&&&&&&&&&&&&&&&&&10
& 习题一&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 1 l
第二章面向对象基础知识&&&&&&&&&&&&&&&&&&&&&&&&12
& 2.1面向对象程序设计概述&&&&&&&&&&&&&&&&&&&&&&&&&&12
& 2.2对象&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&14
& 2-3消息&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&15
& 2.4类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&15
& 2.5类成员与实例成员&&&&&&&&&&&&&&&&&&&&&&&&&& 16
& 2.6继承 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&17
&&& 2.6.1继承的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 17
&&& 2.6.2继承的优越性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&18
& 2.7抽象与封装&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&18
&&& 2.7.1抽象&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&18
&&& 2.7.2封装&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&19
& 2.8多态性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&19
& 习题二&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 20
第三章Java语言基础&&&&&&&&&&&&&&&&&&&&&&&&&&21
&&& 3.1数据和数据类型&&&&&&&&&&&&&&&&&&&&&&&&&&&..2l
&&& 3.1.1数据类型概述&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&2l
&&& 3.1.2常量与变量&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&22
&&& 3.1.3基本类型&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&22
&&& 3.2运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.26
&&& 3.2.1算术运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&26
&&& 3.2.2关系运算符和逻辑运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..28
&&& 3.2.3位运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 3 1
&&& 3.2.4赋值运算符& ..&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..32
&&& 3.2.5条件运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&33
&&& 3.2.6字符串连接运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..33
&&& 3.2.7 new运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..34
&&& 3.2.8 instanceof运算符&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.34
& 3.3常用Java数值计算方法&&&&&&&&&&&&&&&&&&&&&&&&.34
& 3.4表达式和语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&..35
&&& 3.4.1表达式&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&35
&&& 3.4.2语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.39
& 3.5输入输出初步&&&&&&&&&&&&&&&&&&&&&&&&&&&&..40
&&& 3.5.1标准输出&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&40
&&& 3.5.2标准输入&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&14l
& 3.6控制语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.42
&&& 3.6.1 if语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.42
&&& 3.6.2 switch语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&45
&&& 3.6.3 while语句和do-while语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..47
&&& 3.6.4 for语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..49
&&& 3.6.5跳转语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..52
& 3.7数组&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&56
&&& 3.7.1数组的创建和使用&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.56
&&& 3.7.2对象数组&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&58
&&& 3.7.3多维数组&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 62
&&& 3.7.4数组操作的常用方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.65
& 习题三&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.68
第四章类与对象&&&&&&&&&&&&&&&&&&&&&&&&&&&&.72
& 4.1类与对象的创建&&&&&&&&&&&&&&&&&&&&&&&&&&&..72
&&& 4.11类的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&72
&&& 4.1.2创建对象和构造方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.75
&&& 4.1.3销毁对象与垃圾回收&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&794.2类成员的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&..80
&&& 4.2.1成员变量的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&8l
&&& 4.2.2成员方法的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&8l
&&& 4.2.3变量的作用域&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&86
& 4.3类的访问与封装&&&&&&&&&&&&&&&&&&&&&&&&&&& 87
&&& 4.3.1访问成员变量与成员方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&87
&&& 4.3.2成员的访问权限的控制&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&89
&&& 4.3.3静态成员变量与静态成员方法&&&&&&&&&&&&&&&&&&&&&&&94
& 习题四&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&99
第五章继承与多态&&&&&&&&&&&&&&&&&&&&&&&&&&&100
& 5.1继承性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&100
&&& 5.1.1类的继承层次&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&100
&&& 5.1.2继承与构造方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&104
&&& 5.1.3抽象与终结&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&106
&&& 5.1.4 Java的基类Object.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&108
& 5.2多态性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.112
&&& 5.2.1重载实现多态性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&112
&&& 5.2.2覆盖实现多态性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&115
& 5-3接口与多态&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&120
&&& 5.3.1多级继承与多重继承&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 120
&&& 5.3.2接口&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&121
& 5.4利用抽象类、接口和0bject类实现多态性下的计算&&&&&&&&&&&&&122
&&& 5.4.1用抽象类实现多种形状面积的累加&&&&&&&&&&&&&&&&&&&&&&&&&&&122
&&& 5.4.2用接口实现多种形状面积的累加&&&&&&&&&&&&&&&&&&&&&&&& 123
&&& 5.4.3用一个Object数组实现多种形状面积的累加&&&&&&&&&&&&&&&&&&&&& 126
& 5.5包&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&127
&&& 5.5.1 Java平台定义的包&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 128
&&& 5.5.2包的创建&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&& 128
&&& 5.5.3包的使用&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&129
&&& 5.5.4编译和生成包&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.&&130
& 习题五&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&130
第六章Java自定义的常用数据结构&&&&&&&&&&&&&&&&.132
& 6.1 String类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&132
&&& 6.11 String类字符串的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&132
&&& 6.1.2 String类的常用方法及其应用&&&&&&&&&&&&&&&&&&&&&&&&&&&&&134
&&& 6.1.3命令行参数&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&140
& 6.2 StringBuffer类&&&&&&&&&&&&&&&&&&&&&&&&&&&&142
&&& 6.2.1 StringBuffer类的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&142
& 6.2.2 StringBuffer类的常用方法及其应用&&&&&&&&&&&&&&&&&&&&&&&.143
&&& 6.3 Vector&E&类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&147
&&& 6.3.1 V色ctor类的定义&&&&&&&&&&&&&&&&&&&&&&&&&&&147
&&& 6.3.2 Vector类的常用方法及其应用&&&&&&&&&&&&&&&&&&&&&&&&&&&.147
&&& 6.4 List&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.149
&&& 64.1 LinkedIjst类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.149
&&& 6.4.2 ArrayList类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..15 l
&&& 6.5 Set接口&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.15l
&&& 6.5.1 HashSet&E&类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&15l
&&& 6.5.2 TreeSet&E&类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&152
&&& 习题六&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&.153
& 第七章异常处理&&&&&&&&&&&&&&&&&&&&&&&&&&&156
&&& 7.1 Java中出错类型&&&&&&&&&&&&&&&&&&&&&&&&&&&&156
&&& 7.1.1异常的概念&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&156
&&& 7.1.2异常类的层次和主要子类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&157
&&& 7.13 Exception异常类的方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&158
&&& 7.2异常的抛出&&&&&&&&&&&&&&&&&&&&&.&&&&&&&&159
&&& 7-3异常的处理&&.& &&&&&&&&&&&&&&&&&&&&&&&&&&.160
&&& 7_3.1运行时异常&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.160
&&& 7-3.2 try-catch-f=inally语句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&160
&&& 7.3.3 throw语句和throws子句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..162
&&& 7.4 Finally子句&&&&&&&&&&&&&&&&&&&&&&&&&&&&&163
&&& 7.5创建自己的异常&&&&&&&&&&&&&&&&&&&&&&&&&&&165
&&& 习题七&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..166
& 第八章& 图形用户界面设计&&&&&& ..&&&&&&&&&&&&&&..168
&&& 8.1抽象窗口工具(AWT)简介&&&&&&&&&&&&&&&&&&&&&&168
&&& 8.2基本的窗口类&&&&&&&&&&&&&&&&&&&&&&&&&&&&169
&&& 8.2.1 Franle类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.169
&&& 8.2.2 WindOW类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&169
&&& 8.23 Container类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..169
&&& 8.2.4 Panel类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.170
&&& 8.2.5 Dialog&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&170
&&& 8.2.6简单窗口举例&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&170
&&& 8.3简单的GuI构件类&&&&&&&&&&&&&&&&&&&&&&&&&&172
&&& 8-3.1 Button类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..172
&&& 8.3.2TrextField类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&172
&&& 8.3.3 Label类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..173
&&& 8.34 TextArea类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.173
&8.3.5 List类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&173
& 8-4简单的事件处理&&&&&&&&&&&&&&&&&&&&&&&&&&&174
&&& 8.4.1动作事件响应的一般步骤&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&175
&&& 8.4.2 AcdonListener接口&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&175
& 8.5事件类型及其处理&&&&&&&&&&&&&&&&&&&&&&&&&&177
& 8.5.1事件源&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&177
& 8.5.2事件监听接口&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&179
& 8.5.3低级事件处理&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&179
& 8.5.4高级事件(语义事件)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&188
& 8.5.5事件、事件源与监听接口&&&&&&&&&&&&&&&&&&&&&&&&196
& 8.5.6监听接口适配器&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&198
& 8.6布局管理&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&199
&&& 8.6.1 FlowLayout&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&199
&&& 8.6.2 BorderLayout.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&199
&&& 8.6.3 GridLayout.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&201
&&& 8.6.4 CardLayout&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&203
&&& 8.6.5 GfidBagLayout&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&205
& 8.7菜单系统&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&209
& 8.8对话框&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&212
&&& 8.8.1 Dialog类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-212
&&& 8.8.2 FileDialog类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&214
& 8.9图形类与图形的绘制&&&&&&&&&&&&&&&&&&&&&&&&&&217
&&& 8.9.1& 画线&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&217
&&& 8.9.2画矩形&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&222
&&& 8.93设置色彩和画其他图形&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&225
& 8.10 AWT与Swing&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&228
& 习题八&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&230
第九章流和文件&&&&&&&&&&&&&&&&&&&&&&&&&&&&231
& 9.1流的基本概念&&&&&&&&&&&&&&&&&&&&&&&&&&&&231
& 9.2文件类及其操作&&&&&&&&&&&&&&&&&&&&&&&&&&&233
&&& 9.2.1建立与删除文件&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&234
&&& 9.2.2获取文件或目录属性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&234
&&& 9.2.3获取目录成员&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&236
&&& 9.2.4文件名过滤&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&237
& 9.3字节级输入输出类&&&&&&&&&&&&&&&&&&&&&&&&&&&239
&&& 9.3.1文件输入流(FileInputStream)&&&&&&&&&&&&&&&&&&&&&&&&&&&&24l
&&& 9.3.2文件输出流(FileOu中utS仕eam)&&&&&&&&&&&&&&&&&&&&&&&&&&&&242
&&& 9.3.3字节数组输入流(ByteArraylnputS订eam)&&&&&&&&&&&&&&&&&&&&&&&&&244
&&& 9.3.4字节数组输出流(ByteArrayOu中utStream)&&&&&&&&&&&&&&&&&&&&&&&&&245
&&& 9,3.5回退输入字节流(PushbackInputStream)&&&&&&&&&&&&&&&&&&&&&&&&247
&&& 9.3.6数据输出流(DataOu中utStream)&&&&&&&&&&&&&&&&&&&&&&&&&&.249
&&& 9.3.7数据输入流(DataInputStream)&&&&&&&&&&&&&&&&&&&&&&&&&&&&.25 l
&&& 9.3.8缓存输出流(BufferedOu中utStream)&&&&&&&&&&&&&&&&&&&&&&&&&..252
&&& 9.3.9缓存输入流(BufferedlnputStream)&&&&&&&&&&&&&&&&&&&&&&&&&&..254
&&& 9.3.10格式化输出流(hintStream)&&&&&&&&&&&&&&&&&&&&&&&&&&&&256
&&& 9.4字符级输入输出类&&&&&&&&&&&&&&&&&&&&&&&&&&257
&&& 9.4.1字符输入流(Reader)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.259
&&& 9.4.2字符输出流(Writer)&&&&&&&&&&&&&&&&&&&&&&&&&259
&&& 9.4.3 FileReader类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.260
&&& 9.4.4 BufferedReader类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.260
&&& 9.4.5 FileWriter类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..262
&&& 9.4.6 BufferedWriter类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&262
&&& 9.4.7 PrintWriter类&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.263
&&& 9.4.8读取字符数组类(CharArrayReader)&&&&&&&&&&&&&&&&&&&&&&&&&&265
&&& 9.4.9写字符数组类(CharArrayWriter)&&&&&&&&&&&&&&&&&&&&&&&&&&&.266
&&& 9.4.10回退输入字符流(PushbackReader)&&&&&&&&&&&&&&&&&&&&&&&&268
& 9.5流的标记分解类(StreamTokenizer)&&&&&&&&&&&&&&&&&&&270
& 9.6对象级输入输出类&&&&&&&&&&&&&&&&&&&&&&&&&&272
&&& 9.6.1 Serializable接口&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&272
&&& 9.6.2对象输出流(0bjectOutputStream)&&&&&&&&&&&&&&&&&&&&&&&&&..273
&&& 9.6.3对象类输入流(ObjectInputStream)&&&&&&&&&&&&&&&&&&&&&&.&&&&274
& 9.7 RandomAccessFile&&&&&&&&&&&&&&&&&&&&&&&&&&.276
& 9.8系统UO流&&&&&&&&&&&&&&&&&&&&&&&&&&&&&278
& 习题九&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&28l
第十章Applet&&&&&&&&&&&&&&&&&&&&&&&&&&283
& lO.1 Applet的基本概念&&&&&&&&&&&&&&&&&&&&&&&&&..283
&&& 10.1.1 Applet的构架&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&283
&&& 10.1.2 Applet类的实例变量&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&285
&&& 10.1.3 Applet类的成员方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&285
&&& 10.1.4 Applet的生命周期&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.286
& lO.2 Applet标记&&&&&&&&&&&&&&&&&&&&&&&&&&&&.288
&&& 10.2.1 Applet标记中的属性&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.288
&&& 10.2.2利用标记向Applet传递参数&&&&&&&&&&&&&&&&&&&&&&&&&&&&290
&&& 10.3 Applet的安全限制与文件读取方法&&&&&&&&&&&&&&&&&&&292
&&& 10.3.1统一资源定位器uRL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&293
&&& 10.3.2获取URL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.293
&&& 10.3.3使用URL载入数据&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&296
&&& 10.4 Applet环境与状态显示&&&&&&&&&&&&&&&&&&&&&&&。298
lO.5 Applet的绘图与控制&&&&&&&&&&&&&&&&&&&&&&&&..303
&&& 10.5.1在Applet中利用Graphics类绘图&&&&&&&&&&&&&&&&&&&&&&303
&&& 10.5.2在Applet显示与更新&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&307
&&& 10.5.3在Applet中加入控制项&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&309
& 习题十&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..315
第十一章多线程程序设计&&&&&&&&&&&&&&&&&&&&317
& 11.1线程的基本概念&&&&&&&&&&&&&&&&&&&&&&&&&&..317
&&& 11.1.1线程类Thread&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&317
&&& 11.1.2线程的状态&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&318
&&& 11.1.3线程的阻塞&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.319
&&& 11.1.4线程的优先级&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&320
& 11.2线程的使用方法&&&&&&&&&&&&&&&&&&&&&&&&&&320
&&& 11.2.1通过继承Thread类创建线程&&&&&&&&&&&&&&&&&&&&&&&&&&&&&320
&&& 11.2.2通过实现Runnable接口来创建线程&&&&&&&&&&&&&&&&&&&&&&&&&&322
& 11-3多线程的使用方法&&&&&&&&&&&&&&&&&&&&&&&&&325
&&& 11.3.1多线程的创建方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&325
&&& 11.3.2判断线程是否存在&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&328
&&& 11.3.3线程的合并(ioin)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&329
&&& 11.3.4线程的优先级的获取和设置&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&33l
& 11.4多线程的同步处理&&&&&&&&&&&&&&&&&&&&&&&&&&332
&&& 11.4.1线程synchronized方法&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&333
&&& 11.4.2 Applet中使用线程&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&335
&&& 11.4.3线程的等待与唤起&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&338
& 习题十一&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&342
第4-二章Java网络编程&&&&&&&&&&&&&&&&&&&&&.343
& 12.1 Java网络应用籼出&&&&&&&&&&&&&&&&&&&&&&&&&&&343
&&& 12.1.1 IP地址&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&343
&&& 12.1.2端口&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.&&345
&&& 12.1.3套接字&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&345
&&& 12.1.4数据包&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&345
&&& 12.1.5 Intemet协议&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&346
& 12.2基于URL网络应用&&&&&&&&&&&&&&&&&&&&&&&&&347
&&& 12.2.1直接从URL读取内容&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&347
&&& 12.2.2建立一个URL连接并从中读取内容&&&&&&&&&&&&&&&&&&&&&&&&348
& 12-3 Socket方式实现通信&&&&&&&&&&&&&&&&&&&&&&&&349
&&& 12.3.1客户端Socket&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&350
&&& 12.3.2服务器端Socket&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&350
&&& 12.3.3简单邮件系统&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&一357
&12.3.4& 目录客户,服务系统&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..360
&&& 12-4 Damgram方式实现通信&&&&&&&&&&&&&&&&&&&&&&&.373
&&& 12.4.1数据包和套节字&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.374
&&& 12.4.2 Datagram实现客户服务模式&&&&&&&&&&&&&&&&&&&&&&&&&&&375
&&& 习题十二&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&381
& 第十三章Java数据库连接&&&&&&&&&&&&&&&&&&&&.382
&&& 13.1 JDBC概述&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.382
&&& 13.1.1 JDBC简介&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&382
&&& 13.1.2 JDBC和ODBC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&383
&&& 13.2 JDBC访问数据库的方法&&&&&&&&&&&&&&&&&&&&&&&386
&&& 13.2.1装载驱动程序&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&386
&&& 13.2.2定义连接URL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&386
&&& 13.2.3获取数据库信息和创建接口Statement对象&&&&&&&&&&&&&&&&&&&&&387
&&& 13.2.4执行SQL语句以访问数据库&&&&&&&&&&&&&&&&&&&&&&&387
&&& 13.2.5对执行SQL语句的结果进行处理&&&&&&&&&&&&&&&&&&&&&&&&&&388
&&& 13.2.6关闭操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&389
&&& 13.3 JDBC数据库操作实例&&&&&&&&&&&&&&&&&&&&&&&&389
&&& 13.3.1建表和查询操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&389
&&& 13.3.2数据库表的交互操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&391
&&& 13.3.3数据库操作的GUI程序&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&393
&&& 习题十三&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&397
& 参考文献&&&&&&&&&&&&&&&&&&&&&&&&&&&&.399
客服专线:010- 客服邮箱:
Copyright & 北发图书网 2007,
All Rights Reserved
北京北发电子商务股份有限公司 版权所有}

我要回帖

更多关于 java界面设计工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信