package MyFrame;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import FileTran.FileClient;
public class MyPane
extends JPanel {
// 默认服务器端口
private final String P
= "9527";
// ////////////////////////////////
private Myframe mf;
private int n = 0;
private String fport
= "9527";
public MyPane(Myframe mf) {
this.mf = mf;
this.
setBackground(Color.
lightGray);
// this.setBounds(0, 0, 600, 400);
this.addContend();
}
private void addContend() {
// TODO Auto-generated method stub
this.setLayout(null);
// 端口
this.portjt.setBounds(520, 320, 70, 30);
this.
portjt.
setForeground(Color.
RED);
this.
portjt.
setFont(new Font("宋体",
Font.
PLAIN,
25));
this.portjt.setText("9527");
this.add(this.portjt);
// 输入框
this.msgjt.setBounds(10, 320, 250, 30);
this.
msgjt.
setFont(new Font("宋体",
Font.
PLAIN,
20));
this.
msgjt.
setForeground(Color.
BLUE);
this.add(this.msgjt);
// 文件发送按钮
this.filejb.setBounds(505, 200, 90, 30);
this.add(this.filejb);
@Override
new FileClient(mf).start();
}
});
// 发送按钮
this.sendjb.setBounds(270, 320, 60, 30);
this.add(this.sendjb);
@Override
// TODO Auto-generated method stub
String msg
= mf.
getPane().
getMsgjt().
getText();
String port
= mf.
getPane().
getPortjt().
getText();
.getSelectedItem();
if (msg.equals("")) {
// 目标端口是否改变
if (!(port.equals(fport))) {
new Client("客户端&端口改为:" + port, P, mf.getMyip());
fport = mf.getPane().getPortjt().getText();
}
// 获取目标电脑IP
else if (n == 0) {
try {
myip = myComputer.getHostAddress();
// this.getPane().getContendjt().setText("目标用户IP:"+this.ip);
// port=mf.getPane().getPortjt().getText();
.showMessageDialog(mf, "正在向服务器发送测试消息...");
new Client("客户端&端口:" + port + " (测试 )", P, mf
.getMyip());
fport = mf.getPane().getPortjt().getText();
n = 1;
return;
myip = "暂时无法获取该用户IP";
// String port=mf.getPane().getPortjt().getText();
new Client(myip + "端口为 :" + port, port, mf
.getMyip());
fport = mf.getPane().getPortjt().getText();
}
n = 1;
}
return;
} else if (!nowip
.matches("([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])[.]"
+ "([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])[.]"
+ "([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])[.]"
+ "([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])")) {
} else {
new Client(mf);
if (!mf.getPane().getMsgjt().getText().equals("")) {
// System.out.println(mf.getPane().getContendjt().getText());
mf.getPane()
.getContendjt()
+ ")\n"+ mf.getPane().getContendjt().getText());
}
fport = mf.getPane().getPortjt().getText();
}
mf.getPane().getMsgjt().setText("");
}
});
// ip地址
this.ipjt.setBounds(340, 320, 170, 30);
this.ipjt.setEditable(true);
this.
ipjt.
setFont(new Font("宋体",
Font.
PLAIN,
22));
this.
ipjt.
setForeground(Color.
RED);
this.ipjt.addItem("127.0.0.1");
this.ipjt.addItem(mf.getMyip());
this.add(this.ipjt);
// 清屏按钮
this.clearjb.setBounds(510, 100, 60, 30);
this.add(this.clearjb);
@Override
// TODO Auto-generated method stub
mf.getPane().getContendjt().setText("");
}
});
// 退出按钮
this.exitjb.setBounds(510, 30, 60, 30);
this.add(this.exitjb);
@Override
// TODO Auto-generated method stub
}
});
// 内容栏
this.
contendjt.
setFont(new Font("宋体",
Font.
PLAIN,
20));
this.contendjt.setEditable(false);
this.scrolljs.setBounds(0, 0, 500, 300);
this.add(this.scrolljs);
}
return msgjt;
}
this.msgjt = msgjt;
}
return ipjt;
}
this.ipjt = ipjt;
}
return portjt;
}
this.portjt = portjt;
}
return contendjt;
}
public void setContendjt
(JTextArea contendjt
) {
this.contendjt = contendjt;
}
}
//源代码片段来自云代码http://yuncode.net