📄 frame1.java~72~
字号:
package sharep2p;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import javax.swing.border.*;
import java.io.*;
import java.net.*;
import java.util.StringTokenizer;
/**
* <p>Title: shareP2p</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: 华中科技大学</p>
* @author not attributable
* @version 1.0
*/
public class Frame1 extends JFrame {
JPanel contentPane;
JLabel statusBar = new JLabel();
BorderLayout borderLayout1 = new BorderLayout();
Panel panel1 = new Panel();
JButton jButton1 = new JButton();
TitledBorder titledBorder1;
Border border1;
Border border2;
TitledBorder titledBorder2;
Border border3;
XYLayout xYLayout1 = new XYLayout();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
ScrollPane scrollPane1 = new ScrollPane();
List list1 = new List();
JButton jButton4 = new JButton();
Label label1 = new Label();
ScrollPane scrollPane2 = new ScrollPane();
List list2 = new List();
Label label3 = new Label();
TextField textField1 = new TextField();
JButton jButton5 = new JButton();
JButton jButton6 = new JButton();
JTextField jTextField1 = new JTextField();
Label label2 = new Label();
JButton jButton7 = new JButton();
//Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
titledBorder1 = new TitledBorder("");
border1 = BorderFactory.createCompoundBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.blue,Color.blue,Color.blue),border1);
border2 = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.blue,Color.blue,Color.blue);
titledBorder2 = new TitledBorder(border2,"晚上反对 ");
border3 = BorderFactory.createCompoundBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.white,Color.blue,Color.blue,Color.blue),titledBorder1);
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(579, 499));
this.setTitle("文件共享");
statusBar.setBackground(Color.red);
statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
statusBar.setText(" ");
panel1.setLayout(xYLayout1);
jButton1.setBackground(SystemColor.desktop);
jButton1.setFont(new java.awt.Font("Dialog", 1, 15));
jButton1.setForeground(Color.red);
jButton1.setBorder(border3);
jButton1.setBorderPainted(true);
jButton1.setText("开始监听");
jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
panel1.setBackground(Color.pink);
panel1.setForeground(Color.black);
jButton2.setText("网络共享");
jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));
jButton2.setBorderPainted(true);
jButton2.setBorder(border3);
jButton2.setForeground(Color.red);
jButton2.setFont(new java.awt.Font("Dialog", 1, 15));
jButton2.setBackground(SystemColor.desktop);
jButton3.setText("sharefiles");
jButton3.addActionListener(new Frame1_jButton3_actionAdapter(this));
jButton3.setBorderPainted(true);
jButton3.setBorder(border3);
jButton3.setForeground(Color.red);
jButton3.setFont(new java.awt.Font("Dialog", 1, 15));
jButton3.setBackground(SystemColor.desktop);
scrollPane1.setBackground(Color.orange);
list1.setBackground(Color.orange);
jButton4.setBackground(SystemColor.desktop);
jButton4.setFont(new java.awt.Font("Dialog", 1, 15));
jButton4.setForeground(Color.red);
jButton4.setBorder(border3);
jButton4.setBorderPainted(true);
jButton4.setText("保存目录");
jButton4.addActionListener(new Frame1_jButton4_actionAdapter(this));
label1.setText("label1");
list2.setBackground(Color.orange);
scrollPane2.setBackground(Color.orange);
label3.setText("目标计算机地址");
label3.setFont(new java.awt.Font("Dialog", 1, 20));
label3.setBackground(Color.pink);
textField1.setText("textField1");
jButton5.setBackground(SystemColor.desktop);
jButton5.setFont(new java.awt.Font("Dialog", 1, 15));
jButton5.setForeground(Color.red);
jButton5.setBorder(border3);
jButton5.setBorderPainted(true);
jButton5.setText("connection");
jButton5.addActionListener(new Frame1_jButton5_actionAdapter(this));
jButton6.setBackground(SystemColor.desktop);
jButton6.setFont(new java.awt.Font("Dialog", 1, 15));
jButton6.setForeground(Color.red);
jButton6.setBorder(border3);
jButton6.setBorderPainted(true);
jButton6.addActionListener(new Frame1_jButton6_actionAdapter(this));
jButton6.setText("deletefiles");
jButton6.addActionListener(new Frame1_jButton6_actionAdapter(this));
jTextField1.setText("jTextField1");
label2.setBackground(Color.pink);
label2.setFont(new java.awt.Font("Dialog", 1, 20));
label2.setText("网络资源");
jButton7.addActionListener(new Frame1_jButton7_actionAdapter(this));
jButton7.setText("下载文件");
jButton7.addActionListener(new Frame1_jButton7_actionAdapter(this));
jButton7.setBorderPainted(true);
jButton7.setBorder(border3);
jButton7.setForeground(Color.red);
jButton7.setFont(new java.awt.Font("Dialog", 1, 15));
jButton7.setBackground(SystemColor.desktop);
contentPane.add(statusBar, BorderLayout.SOUTH);
contentPane.add(panel1, BorderLayout.CENTER);
panel1.add(scrollPane1, new XYConstraints(18, 83, 354, 117)); panel1.add(jButton4, new XYConstraints(15, 228, 129, 49)); panel1.add(jTextField1, new XYConstraints(161, 230, 153, 45)); panel1.add(label1, new XYConstraints(390, 233, 168, 41)); panel1.add(label2, new XYConstraints(14, 286, 140, -1)); panel1.add(scrollPane2, new XYConstraints(14, 318, 353, 98)); panel1.add(label3, new XYConstraints(415, 281, 156, 47)); panel1.add(textField1, new XYConstraints(419, 329, 142, 36)); panel1.add(jButton5, new XYConstraints(420, 376, 129, 49)); panel1.add(jButton7, new XYConstraints(29, 424, 129, 49)); panel1.add(jButton1, new XYConstraints(22, 18, 129, 49)); panel1.add(jButton2, new XYConstraints(387, 17, 129, 49)); panel1.add(jButton6, new XYConstraints(387, 145, 129, 49)); panel1.add(jButton3, new XYConstraints(390, 82, 129, 49)); scrollPane2.add(list2, null); scrollPane1.add(list1, null);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public class Server
extends Thread {
public final int Default_Port = 6544;
protected int port;
protected ServerSocket listen_socket;
protected Socket client;
protected DataInputStream in;
protected DataOutputStream out;
// 定义出错例程:如果出现异常错误,退出程序。
public void fail(Exception e, String msg) {
System.err.println(msg + ": " + e);
System.exit(1);
}
// 定义并启动服务器的Socket 例程,监听客户机的连接请求。
public Server(int port) {
if (port == 0) {
port = Default_Port;
}
this.port = port;
try {
listen_socket = new ServerSocket(port);
}
catch (IOException e) {
fail(e, "Exception creating server socket");
}
System.out.println("Server: listening on port" + port);
//this.start();
}
/* 下面为服务器监听线程的主程序。该线程一直循环执行,监听并接受客户机发出的连接
请求。对每一个连接,均产生一个连接对象与之对应,通过Socket 通道进行通信。*/
public void run() {
try {
while (true) {
Socket client_socket = listen_socket.accept();
client = client_socket;
in = new DataInputStream(client.getInputStream());
out = new DataOutputStream(client.getOutputStream());
String Message = null;
client.setSoTimeout(1000);
Message = in.readUTF();
//System.out.print(Message);
//jTextArea2.setText(Message);
StringTokenizer st = new StringTokenizer(Message,"*");
label1.setText(st.nextToken());
while (st.hasMoreTokens()) {
list2.add(st.nextToken());
}
String ShareFiles ="";
for(int i=0;i<list1.getItemCount();i++)
{
ShareFiles = ShareFiles+list1.getItem(i)+"*";
}
System.out.print(ShareFiles);
//out.writeUTF(ShareFiles);
out.close();
in.close();
client.close();
}
}
catch (IOException e) {
fail(e, "Exception while listening for connections");
}
}
// 启动服务器主程序
}
// End of Server class
public class DownloadFile
extends Thread {
public final int Default_Port = 9999;
protected int port;
protected ServerSocket listen_socket;
protected Socket client;
protected DataInputStream in;
protected DataOutputStream out;
// 定义出错例程:如果出现异常错误,退出程序。
public void fail(Exception e, String msg) {
System.err.println(msg + ": " + e);
System.exit(1);
}
// 定义并启动服务器的Socket 例程,监听客户机的连接请求。
public DownloadFile(int port) {
if (port == 0) {
port = Default_Port;
}
this.port = port;
try {
listen_socket = new ServerSocket(port);
}
catch (IOException e) {
fail(e, "Exception creating server socket");
}
System.out.println("Server: listening on port" + port);
//this.start();
}
/* 下面为服务器监听线程的主程序。该线程一直循环执行,监听并接受客户机发出的连接
请求。对每一个连接,均产生一个连接对象与之对应,通过Socket 通道进行通信。*/
public void run() {
try {
while (true) {
Socket client_socket = listen_socket.accept();
client = client_socket;
in = new DataInputStream(client.getInputStream());
out = new DataOutputStream(client.getOutputStream());
String Message = null;
client.setSoTimeout(1000);
Message = in.readUTF();
//System.out.print(Message);
//jTextArea2.setText(Message);
StringTokenizer st = new StringTokenizer(Message," ");
Message = st.nextToken();
String fileName = Message;
File pictureFile = new File(fileName);
FileInputStream pictureInStream = new FileInputStream(pictureFile);
byte[] pictureData = new byte[4096];
int byteNumber;
while((byteNumber = pictureInStream.read(pictureData)) != -1)
out.write(pictureData,0,byteNumber);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -