当前位置:文档之家› java编程经典案例与模板

java编程经典案例与模板

java编程经典案例与模板
java编程经典案例与模板

(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

if (files[i].isDirectory()){ //如果这是一个目录

message.append("

\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 https://www.doczj.com/doc/a79695700.html,.*;

import javax.swing.*;

public class UDPClientDemo extends JFrame{

String host="localhost"; //服务器地址

int port=2345; //端口号

public UDPClientDemo(){

try{

DatagramSocket socket=new DatagramSocket(); //实例化一个数据报Socket

InetAddress 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 https://www.doczj.com/doc/a79695700.html,.*;

import javax.swing.*;

public class UDPServerDemo extends JFrame{

int port=2345; //端口号

public UDPServerDemo(){

try{

byte[] buffer=new byte[256]; //缓冲区数组

DatagramSocket socket=new DatagramSocket(port); //实例化数据报Socket

DatagramPacket 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=new

DatagramPacket(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 https://www.doczj.com/doc/a79695700.html,.*;

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();

} }

相关主题
文本预览
相关文档 最新文档