java编程经典案例与模板
- 格式:doc
- 大小:58.00 KB
- 文档页数:11
java简单项目案例一.简介这是一个简单的Java项目,根据用户输入的一个小写字母转换为大写的字母的要求,使用Java语言开发。
借助 Eclipse IDE 对这个小程序进行开发与调试,并生成了一个可执行的 jar 包,供用户使用。
二.项目目录项目总结目录情况如下:|- src 源文件目录|- com.example.upperCase.UpperCase.java 主程序文件,负责实现字母大小写转换功能|- bin 可执行包|- project.xml 项目设置文件三.详细功能1.获取用户输入的一个小写字母2.定义一个大写字母的变量,然后把小写字母的ASCII码和大写字母的ASCII码之差的差值赋给它3.然后把小写字母的ASCII码与差值相加,即得到用户输入字母的大写字母4.输出最终结果四.实现代码这是一个简单的Java程序,它负责实现字母大小写转换功能。
import java.util.Scanner;public class UpperCase {public static void main(String args[]){// 创建Scanner对象Scanner input = new Scanner(System.in);System.out.println("请输入小写字母");// 获取用户输入的字符char c = input.next().charAt(0);// 将字符转为大写char result = (char)(c- 32);// 输出结果System.out.println("转换后的大写字母是: "+ result);}}五.运行结果首先使用eclipse导入项目:File->Open Projects from File System 选择项目所在的文件夹,点击Finish;接着我们在Console控制台里输入小写字母a:请输入小写字母a转换后的大写字母是: A六.总结通过本案例,我们使用eclipse完成了一个小小的生活化的Java程序 - 可以将小写字母转换为大写的字母,用户只需要输入一个小写字母,就能够得到一个大写字母的结果。
Java⾼效代码50例摘⾃:导读 世界上只有两种物质:⾼效率和低效率;世界上只有两种⼈:⾼效率的⼈和低效率的⼈。
----萧伯纳常量&变量直接赋值常量,禁⽌声明新对象 直接赋值常量值,只是创建了⼀个对象引⽤,⽽这个对象引⽤指向常量值。
反例Long i=new Long(1L);String s=new String("abc");正例Long i=1L;String s="abc";当成员变量值⽆需改变时,尽量定义为静态常量 在类的每个对象实例中,每个成员变量都有⼀份副本,⽽成员静态常量只有⼀份实例。
反例public class HttpConnection{private final long timeout=5L;...}正例public class HttpConnection{private static final long timeout=5L;...}尽量使⽤基本数据类型,避免⾃动装箱和拆箱 Java中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Double、Float、Long、Integer、Short、Character、Boolean。
Jvm⽀持基本类型与对象包装类的⾃动转换,被称为⾃动装箱和拆箱。
装箱和拆箱都是需要CPU和内存资源的,所以应尽量避免⾃动装箱和拆箱。
反例Integer sum = 0;int[] values = { 1, 2, 3, 4, 5 };for (int value : values) {sum+=value;}正例int sum = 0;int[] values = { 1, 2, 3, 4, 5 };for (int value : values) {sum+=value;}如果变量的初值会被覆盖,就没有必要给变量赋初值反例public static void main(String[] args) {boolean isAll = false;List<Users> userList = new ArrayList<Users>();if (isAll) {userList = userDAO.queryAll();} else {userList=userDAO.queryActive();}}public class Users {}public static class userDAO {public static List<Users> queryAll() {return null;}public static List<Users> queryActive() {return null;}}正例public static void main(String[] args) {boolean isAll = false;List<Users> userList;if (isAll) {userList = userDAO.queryAll();} else {userList=userDAO.queryActive();}}public class Users {}public static class userDAO {public static List<Users> queryAll() {return null;}public static List<Users> queryActive() {return null;}}尽量使⽤函数内的基本类型临时变量 在函数内,基本类型的参数和临时变量都保存在栈(Stack)中,访问速度较快;对象类型的参数和临时变量的引⽤都保存在栈(Stack)中,内容都保存在堆(Heap)中,访问速度较慢。
java语言编程应用案例分享java语言是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象、安全性高等特点。
在实际应用中,java语言可以用于开发各种类型的应用程序。
下面列举了10个以java语言编写的应用案例,分别涉及到不同领域和应用场景。
1. 学生信息管理系统学生信息管理系统是一种常见的应用程序,用于管理学校或教育机构的学生信息。
通过java语言可以实现学生信息的录入、查询、修改和删除等功能,使学校的学生信息管理更加便捷和高效。
2. 图书馆管理系统图书馆管理系统是一种用于管理图书馆藏书和借阅信息的应用程序。
通过java语言可以实现图书的录入、查询、借阅和归还等功能,方便读者进行图书的管理和借阅。
3. 在线购物系统在线购物系统是一种通过互联网进行商品购买的应用程序。
通过java语言可以实现用户注册、商品浏览、购物车管理、订单生成等功能,提供给用户方便快捷的购物体验。
4. 酒店管理系统酒店管理系统是一种用于管理酒店客房和预订信息的应用程序。
通过java语言可以实现客房的查询、预订和退订等功能,方便酒店管理人员进行客房的管理和预订。
5. 在线银行系统在线银行系统是一种通过互联网进行银行业务操作的应用程序。
通过java语言可以实现用户登录、账户查询、转账汇款、账单管理等功能,方便用户进行各种银行操作。
6. 医院挂号系统医院挂号系统是一种用于管理医院患者挂号和预约信息的应用程序。
通过java语言可以实现患者的挂号、预约和退号等功能,方便医院管理人员进行患者的管理和预约。
7. 电影票订购系统电影票订购系统是一种通过互联网进行电影票购买的应用程序。
通过java语言可以实现用户注册、电影浏览、选座购票等功能,方便用户进行电影票购买和选座。
8. 人事管理系统人事管理系统是一种用于管理企业员工信息和薪酬福利的应用程序。
通过java语言可以实现员工信息的录入、查询和薪酬福利管理等功能,方便企业进行人事管理。
java经典案例Java是一门广泛应用于开发各种类型程序的编程语言,其灵活性和高效性使得它成为了众多开发者的首选。
下面我将为大家介绍几个经典的Java案例,帮助大家更好地理解和运用Java语言。
案例一:学生成绩管理系统学生成绩管理系统是一个实用的案例,可以帮助学校管理学生的各科成绩。
该系统可以实现对学生信息的录入、保存和查询,还可以计算学生的平均成绩,并根据成绩进行排名。
这个案例涉及到Java中的面向对象编程和文件操作,可以帮助学习者熟悉Java的语法和基本操作。
案例二:银行系统银行系统是一个常见的案例,可以模拟银行的基本操作,如开户、存款、取款、转账等。
这个案例涉及到Java中的面向对象编程和异常处理,帮助学习者理解如何设计一个实际应用中的系统,并处理用户输入的异常情况。
案例三:图书管理系统图书管理系统是一个实用的案例,可以帮助图书馆对图书进行管理和借还操作。
该系统可以实现对图书信息的录入、保存和查询,还可以记录图书的借出和归还情况。
这个案例涉及到Java中的面向对象编程、集合类和文件操作,帮助学习者理解Java中常用的数据结构和操作方法。
案例四:网络聊天室网络聊天室是一个常见的案例,可以模拟多个用户之间通过网络进行聊天的场景。
该系统可以实现用户的注册、登录和发送消息等功能,还可以实现用户之间的私聊和群聊。
这个案例涉及到Java中的网络编程和多线程技术,可以帮助学习者理解网络通信的基本原理和多线程并发的实现。
案例五:在线商城在线商城是一个实际应用中常见的案例,可以实现商品的展示、购买和订单管理等功能。
该系统可以实现用户的注册和登录,还可以将用户的浏览记录和购买记录保存到数据库中,并根据用户的行为进行推荐。
这个案例涉及到Java中的Web开发和数据库操作,可以帮助学习者理解Web应用的基本开发流程和与数据库的交互。
以上案例只是Java中经典案例的一部分,通过学习和实践这些案例,可以帮助我们更好地掌握Java的基本语法和常用技术,并为实际项目的开发打下坚实的基础。
Java面向对象编程实战案例1. 简介Java面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,它以对象为中心,通过封装、继承和多态等特性来组织和管理代码。
本文将介绍一些实战案例,展示Java面向对象编程的实际应用。
2. 案例一:学生管理系统学生管理系统是一个典型的Java面向对象编程案例,它常用于学校、培训机构等管理学生信息。
在这个案例中,可以定义一个Student类,包含学生的姓名、年龄、学号等属性,以及学生的增删改查等方法。
可以使用面向对象的思想,将学生信息封装到一个对象中,并使用集合类来管理多个学生对象。
3. 案例二:图形计算器图形计算器是另一个有趣的Java面向对象编程案例。
可以定义一个Shape类作为图形的基类,包含计算图形面积和周长的方法,并派生出Circle、Rectangle和Triangle等子类,分别表示圆形、长方形和三角形。
通过面向对象的继承特性,可以调用对应子类的计算方法,根据用户的输入来计算所需图形的面积和周长。
4. 案例三:银行账户管理系统银行账户管理系统是一个常见的Java面向对象编程案例,用于管理银行的账户信息。
可以定义一个Account类,包含账户的姓名、余额、存取款等方法,并通过封装特性将账户信息隐藏在对象中。
可以使用ArrayList类来存储多个账户对象,实现对账户信息的管理和操作。
5. 案例四:图书馆管理系统图书馆管理系统是另一个典型的Java面向对象编程案例,用于管理图书馆的图书信息。
可以定义一个Book类,包含图书的书名、作者、价格等属性,并封装对应的get和set方法。
可以使用HashMap类来存储图书编号和对应的图书对象,实现图书的检索和借还功能。
还可以定义一个User类表示图书馆的用户,包含用户的姓名、借书数量等属性。
6. 案例五:游戏角色管理系统游戏角色管理系统是一个有趣的Java面向对象编程案例,用于管理游戏中的角色信息。
20个java案例以下是20个Java案例,涵盖了不同的主题和功能。
每个案例都有一个简要的描述和示例代码。
1. 计算两个数的和。
描述,编写一个程序,计算两个整数的和并输出结果。
示例代码:java.int num1 = 10;int num2 = 5;int sum = num1 + num2;System.out.println("两个数的和为," + sum);2. 判断一个数是否为偶数。
描述,编写一个程序,判断一个整数是否为偶数,并输出结果。
示例代码:java.int num = 6;if (num % 2 == 0) {。
System.out.println(num + "是偶数。
");} else {。
System.out.println(num + "不是偶数。
");}。
3. 求一个数的阶乘。
描述,编写一个程序,计算一个正整数的阶乘,并输出结果。
示例代码:java.int num = 5;int factorial = 1;for (int i = 1; i <= num; i++) {。
factorial = i;}。
System.out.println(num + "的阶乘为," + factorial);4. 判断一个字符串是否为回文字符串。
描述,编写一个程序,判断一个字符串是否为回文字符串,并输出结果。
示例代码:java.String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {。
if (str.charAt(i) != str.charAt(str.length() 1 i)) {。
isPalindrome = false;break;}。
java swing开发案例1. 计算器应用程序该应用程序使用Java Swing开发,实现了一个简单的计算器功能。
用户可以输入数字和运算符,并通过按下相应的按钮来执行计算操作。
应用程序会将计算结果显示在屏幕上,并允许用户清除当前计算或进行新的计算。
2. 学生成绩管理系统该应用程序使用Java Swing开发,可以帮助学校或老师管理学生的成绩信息。
用户可以添加新的学生、编辑学生信息、输入学生成绩,并可以通过查询功能来查找特定学生的成绩。
应用程序还可以生成成绩报告,以便用户进行分析和评估。
3. 文件浏览器这个应用程序使用Java Swing开发,模拟了一个简单的文件浏览器。
用户可以浏览计算机上的文件和文件夹,并可以通过点击相应的按钮来打开或删除文件。
应用程序还提供了搜索功能,以便用户可以快速找到所需的文件。
4. 图片编辑器这个应用程序使用Java Swing开发,可以帮助用户编辑和处理图片。
用户可以打开图片文件、调整亮度、对比度和饱和度,并可以进行裁剪、旋转和缩放操作。
应用程序还提供了一些滤镜效果,如黑白、模糊和怀旧效果。
5. 音乐播放器这个应用程序使用Java Swing开发,可以帮助用户播放本地音乐文件。
用户可以选择音乐文件并通过点击播放按钮来播放音乐。
应用程序还提供了控制音乐播放的功能,如暂停、停止和调整音量。
6. 电子邮件客户端这个应用程序使用Java Swing开发,可以帮助用户发送和接收电子邮件。
用户可以登录到他们的电子邮件账户,并可以编写和发送电子邮件。
应用程序还可以从服务器上接收新的电子邮件,并将它们显示在收件箱中。
7. 聊天应用程序这个应用程序使用Java Swing开发,可以帮助用户进行在线聊天。
用户可以登录到他们的聊天账户,并可以与其他在线用户进行实时聊天。
应用程序还提供了一些附加功能,如发送文件和创建群聊。
8. 天气预报应用程序这个应用程序使用Java Swing开发,可以帮助用户获取实时天气信息。
简单java程序编程例子
以下是 8 条关于简单 Java 程序编程例子的内容:
1. 嘿,你知道吗?打印出一句话就很简单呢!就像这样:`("Hello World!");` 想象一下,电脑屏幕上出现了你让它说的话,是不是很神奇呀?
2. 哇哦,计算两个数的和也不难呀!比如 int a = 5, int b = 10; 然后 int sum = a + b; 这就求出结果啦,就像我们生活中做加法一样轻松呢!
3. 诶呀,判断一个数是奇数还是偶数也挺有趣呢!用 if 语句就可以啦,比如 int num = 7; if (num % 2 == 0) {...} else {...},是不是很有意思呀?
4. 嘿,还可以通过循环来重复做一些事情哦!像 for 循环,比如说要打印 5 次“我爱Java”,for (int i = 0; i < 5; i++) { ("我爱 Java"); } 这不就实现啦,感觉好酷呀!
5. 哈,创建一个数组来存储多个值也不难哟!int[] array = {1, 2, 3, 4, 5}; 然后可以通过索引来访问每个元素,就像找到藏在里面的宝贝一样呢!
6. 哇噻,实现一个简单的猜数字游戏也超好玩呢!电脑心里想一个数字,你来猜,然后它告诉你大了还是小了,这就跟和朋友玩游戏一样刺激呀!
7. 呀,创建一个类和对象也很重要呢!比如定义一个学生类,然后创建一个学生对象来表示具体的一个学生,这就像是给每个学生都造了一个专属模型一样呢!
8. 嘿嘿,用 Java 来解决一些实际问题,那才叫厉害呢!比如计算购物车的总价,或者统计一篇文章里某个单词出现的次数,这多有成就感呀!
结论:Java 编程有很多有趣又实用的例子呢,只要你去尝试,就能发现其中的乐趣和魅力!。
J a v a面向对象经典案例10个------------------------------------------作者xxxx------------------------------------------日期xxxx1class Anthropoid //类人猿{private int n=100;void crySpeak(String s){System.out.println(s);}}class People extends Anthropoid{void computer(int a,int b){int c=a*b;System.out.println(c);}void crySpeak(String s){System.out.println("**"+s+"**");}}public class Monkey{public static void main(String args[]){Anthropoid monkey=new People();//monkey是People对象的上转型对象//puter(10,10); //非法monkey.crySpeak("我喜欢这个运动");People people=(People)monkey;//把上转型对象强制转化为子类的对象puter(10,10);}}2class ManyArea{public double area(double radius){return Math.PI*radius*radius;}public double area(double len,double width){return len*width;}public double area(int len,int width){return len*width;}public double area(double len,double width,double height){return len*width*height;}}public class OverLoad{public static void main(String args[]){ManyArea ob=new ManyArea();System.out.println("半径为3.0的圆的面积:"+ob.area(3.0)); System.out.println("长2.0、宽3.0的面积:"+ob.area(2.0,3.0)); System.out.println("长2、宽3的面积:"+ob.area(2,3));System.out.println("立方体的面积:"+ob.area(2.0,3.0,4.0));}}3class Animal{public void shout(){}}class Dog extends Animal{public void newDog(){System.out.println("Dog的新特性");}public void shout(){System.out.println("汪");}}class Cat extends Animal{public void shout(){System.out.println("喵");}}class Test{public void animalshout(Animal a){a.shout();}}public class PolyEx{public static void main(String[] args){Animal d=new Dog();//(1)Dog d1= (Dog)d;//(3)父类对象强制转换成子类对象d1.newDog();//d.newDog();d.shout();Test t=new Test();t.animalshout(d);//(2)t.animalshout(d1);}}4class ArrayEx{public int[] subarray(int a[],int start,int end){int subarr[] = new int[end-start];for(int i=0,j=start;j<end;i++,j++){subarr[i] = a[j];}return subarr;}}public class Test{public static void main(String args[]){ArrayEx arrex = new ArrayEx();int arr[] = new int[10];for(int i = 0;i<arr.length;i++){arr[i] = i+10;}int sub[] = arrex.subarray(arr,2,6);for(int temp:sub){System.out.println(temp);}}}5class Box{int length;int width;int height;void set(int len,int wid,int hei){length = len;width = wid;height = hei;}}class ShowBox{void show(Box b){System.out.println(b.length+" "+b.width+" "+b.height); }}class TestTwo{public static void main(String args[]){Box a = new Box();a.set(3,4,5);ShowBox sbox = new ShowBox();sbox.show(a);}}6.class One{int a = 5;void showB(){int a = 3;int b = this.a;System.out.println("b = "+b);}}public class ThisOne{public static void main(String args[]){One test = new One();test.showB();}}7.class Mystatic{private int x=3;public static void showx(){System.out.println("x="+x);}public static int add(int m){return m+x;}}class UseMystatic{public static void main(String args[]){Mystatic.showx();System.out.println("add="+Mystatic.add(2));}}8.class Point{int x;int y;Point(){x=0;y=0;//this(1,1);}Point(int a,int b){x=a;y=b;}void show(){System.out.println("x="+x+" y="+y); }}public class UsePoint{public static void main(String args[]){ Point p = new Point();p.show();}}9.class Point{private int x,y;Point(){x=1;y=3;}void showPoint(Point t){System.out.println("x="+t.x+" y="+t.y);}void seeit(){showPoint(this);}}public class UsePointThis{public static void main(String args[]){Point p=new Point();p.seeit();}}10class Point{static int x=2;int y=0;}public class UseStatic{public static void main(String args[]){System.out.println("利用类调用静态变量"); System.out.println("x="+Point.x);//System.out.println("y="+Point.y);Point p1=new Point();System.out.println("利用对象调用");System.out.println("x="+p1.x);System.out.println("y="+p1.y);Point p2=new Point();p2.y=3;System.out.println("对象p1中y的值"+"y="+p1.y); System.out.println("对象p2中y的值"+"y="+p2.y); p1.x=6;System.out.println("对象p1中x的值"+"x="+p1.x); System.out.println("对象p2中x的值"+"x="+p2.x);}}。
java多线程经典实例以下是一些经典的Java多线程实例:1. 生产者消费者问题:使用线程实现一个简单的生产者消费者模型,其中生产者将物品放入缓冲区,消费者从缓冲区中取出物品。
javaclass Producer implements Runnable {private Buffer buffer;public Producer(Buffer buffer) {this.buffer = buffer;}public void run() {for (int i = 0; i < 10; i++) {buffer.produce();}}}class Consumer implements Runnable {private Buffer buffer;public Consumer(Buffer buffer) { this.buffer = buffer;}public void run() {for (int i = 0; i < 10; i++) {buffer.consume();}}}class Buffer {private List<Integer> items;private int capacity;public Buffer(int capacity) {this.capacity = capacity;items = new ArrayList<>();}public synchronized void produce() {while (items.size() >= capacity) {try {wait();} catch (InterruptedException e) {e.printStackTrace();}}items.add(1);System.out.println("Produced: " + items.size());notifyAll();}public synchronized void consume() {while (items.size() <= 0) {try {wait();} catch (InterruptedException e) {e.printStackTrace();}}items.remove(0);System.out.println("Consumed: " + items.size());notifyAll();}}public class Main {public static void main(String[] args) {Buffer buffer = new Buffer(5);Thread producerThread = new Thread(new Producer(buffer));Thread consumerThread = new Thread(new Consumer(buffer));producerThread.start();consumerThread.start();}}2. 线程池:使用线程池来管理和执行多个任务,以实现更高效的线程复用和资源管理。
(1)列出目录下的文件import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;//列出目录下的文件public class ListFileDemo extends JFrame{JTextField jtfPath; //路径输入文本域JTextArea jtfShow; //显示目录下的内容public ListFileDemo(){super("列出目录下的文件");Container container=getContentPane(); //得到容器jtfPath=new JTextField(16); //实例化路径输入文本框JButton jbGo=new JButton("转到"); //实例化"转到"按钮jtfShow=new JTextArea(); //实例化显示内容文本框jtfPath.addActionListener(new ShowDirListener()); //增加事件处理jbGo.addActionListener(new ShowDirListener());JPanel panel=new JPanel(); //实例化面板,用于增加路径输入和按钮panel.add(jtfPath);panel.add(jbGo);container.add(panel,BorderLayout.NORTH); //增加组件到容器JScrollPane jsp=new JScrollPane(jtfShow);jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //设置边界container.add(jsp,BorderLayout.CENTER);setSize(300,200); //设置窗口尺寸setVisible(true); //设置窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序}class ShowDirListener implements ActionListener { //取得目录内容的事件处理public void actionPerformed(ActionEvent event) {showDirContent(jtfPath.getText()); //调用显示目录内容方}}public void showDirContent(String path){ //该方法实现取得目录内容File file=new File(path); //用路径实例化一个文件对象File[] files=file.listFiles(); //重点:取得目录内所有文件列表StringBuffer message=new StringBuffer(); //实例化一个StringBuffer,用于处理显示的字符串message.append(path); //增加信息message.append(" 内容如下:\n");for (int i=0;i<files.length;i++){if (files[i].isDirectory()){ //如果这是一个目录message.append("<dir>\t"); //增加目录标识}else{message.append("\t");}message.append(files[i].getName()); //增加文件或目录名message.append("\n");}jtfShow.setText(new String(message)); //显示消息}public static void main(String[] args){new ListFileDemo();}}(2)UDP通信import java.awt.event.*;import .*;import javax.swing.*;public class UDPClientDemo extends JFrame{String host="localhost"; //服务器地址int port=2345; //端口号public UDPClientDemo(){try{DatagramSocket socket=new DatagramSocket(); //实例化一个数据报SocketInetAddress address=InetAddress.getByName(host); //服务器地址byte[] buffer=new byte[256]; //缓冲区DatagramPacket packet=new DatagramPacket(buffer,buffer.length,address,port); //实例化一个数据报socket.send(packet); //发送报文packet=new DatagramPacket(buffer,buffer.length);socket.receive(packet); //接受回应String message=new String(packet.getData()); //得到报文信息System.out.println("Received from: "+packet.getAddress()); //显示信息源地址System.out.println(message); //显示服务器返回信息socket.close(); //关闭端口}catch (Exception ex){ex.printStackTrace(); //输出出错信息}}public static void main(String[] args){new UDPClientDemo();}}import java.awt.*;import java.awt.event.*;import .*;import javax.swing.*;public class UDPServerDemo extends JFrame{int port=2345; //端口号public UDPServerDemo(){try{byte[] buffer=new byte[256]; //缓冲区数组DatagramSocket socket=new DatagramSocket(port); //实例化数据报SocketDatagramPacket packet;System.out.println("Server start..."); //输出运行信息while (true){packet=new DatagramPacket(buffer,buffer.length); //实例化数据报socket.receive(packet); //接受请求InetAddress target=packet.getAddress();System.out.println("Received from"+target); //输出请求地址int port=packet.getPort(); //得到接收端口byte[] message="This is server,Who are you?".getBytes(); //服务器返回信息packet=newDatagramPacket(message,message.length,target,port); //实例化数据报socket.send(packet); //发送数据报}}catch (Exception ex){ex.printStackTrace(); //输出出错信息}}public static void main(String[] args){new UDPServerDemo();}}(3)HTTP连接与浏览import java.awt.*;import java.awt.event.*;import .*;import java.io.*;import javax.swing.*;import javax.swing.text.DefaultStyledDocument;public class HTTPBrowser extends JFrame{JTextField jtfAddress; //输入html文件地址或网址JTextPane jtpShow; //显示页面JTextArea jtaSource; //显示HTML源文件public HTTPBrowser(){super("HTTP连接与浏览"); //调用父类构造函数jtfAddress=new JTextField(30); //实例化地址输入框jtpShow=new JTextPane(); //实例化显示内容框jtaSource=new JTextArea();JPanel p1=new JPanel(); //实例化面板JSplitPane spane=new JSplitPane(JSplitPane.VERTICAL_SPLIT); //实例化分隔面板p1.add(new JLabel("地址")); //增加组件到面板上p1.add(jtfAddress);spane.add(new JScrollPane(jtpShow),JSplitPane.TOP);spane.add(new JScrollPane(jtaSource),JSplitPane.BOTTOM);spane.setDividerLocation(130); //设置分隔位置spane.setDividerSize(2); //设置分隔栏尺寸Container container=getContentPane(); //得到容器container.add(p1,BorderLayout.NORTH); //增加组件到容器上container.add(spane,BorderLayout.CENTER);jtfAddress.addActionListener(new ShowHTMLListener()); //输入地址文本域事件处理setSize(380,300); //设置窗口尺寸setVisible(true); //设置窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序}class ShowHTMLListener implements ActionListener {public void actionPerformed(ActionEvent event) {try{URL address=new URL(jtfAddress.getText()); //得到HTML页面的URL地址jtpShow.setContentType("text/html"); //设置内容格式jtpShow.setPage(address); //设置显示页面BufferedReader in= new BufferedReader(new InputStreamReader(address.openStream())); //获取输入流String line;StringBuffer content = new StringBuffer(); //文件内容while ((line = in.readLine()) != null) { //读取文件content.append(line+"\n");}jtaSource.setText(new String(content)); //设置显示文本in.close(); //关闭输入流}catch (Exception ex){ex.printStackTrace(); //输出出错信息}}}public static void main(String[] args){new HTTPBrowser();}}。