聊天室小软件-主页面
2015-10-10 20:00
351 查看
主页面,实现了消息发送,保存,查看,修改昵称等供能
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NewJFrame1 extends javax.swing.JFrame {
DatagramSocket ds;
DatagramSocket ds1;
static String IP;
Thread thread;
public NewJFrame1() {
initComponents();
jTextField1.setText("127.0.0.1"); //设置IP地址文本框的初始值
try {
ds = new DatagramSocket(3001);
} catch (SocketException e) {
e.printStackTrace();
}
new Thread(new Runnable()//
{
DatagramPacket dy;
@Override
public void run() {
byte[] buf = new byte[1024];
dy = new DatagramPacket(buf, buf.length);
while (true) {
try {
ds.receive(dy);
String str = new String(buf, 0, buf.length);
jTextArea2.setText(jTextArea2.getText()+"\n"/*+dy.getAddress().getHostAddress() + "say:"*/ + str.trim());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}).start(); //启动线程
}
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
byte[] buf;
String input=e.getActionCommand();
buf=input.getBytes();
DatagramPacket dp;
try {
dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(jTextField1.getText()), 3000);
ds.send(dp);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
((TextField) e.getSource()).setText("");
}
});
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
Writer out = null;
try {
String s;
DatagramPacket dp;
try {
s = jTextField3.getText() + ":" + jTextField2.getText();
byte[] buf = s.getBytes();
dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(jTextField1.getText()), 3000);
ds.send(dp);
jTextField2.setText("");
jTextArea2.setText(jTextArea2.getText()+"\n"+s+"\n");
} catch (Exception ex) {
ex.printStackTrace();
}
File f = new File("d:" + File.separator+"testoutput.txt");
out = new FileWriter(f);
String str= jTextArea2.getText();
out.write(str);
//out.flush();
out.close();
} catch (IOException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
out.close();
} catch (IOException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new Thread(new Runnable() {
DatagramPacket name;
public void run() {
byte[] buf = new byte[1024];
name = new DatagramPacket(buf, 1024);
while (true) {
try {
ds.receive(name);
String str = new String(name.getData(), 0, name.getLength());
jTextArea2.setText(str);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}).start();
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
File f = new File("d:" + File.separator+"testoutput.txt");
Reader input=new FileReader(f);
char[] c=new char[1024];
int temp=0;
int len=0;
while((temp=input.read())!=-1){
c[len]=(char) temp;
len++;
}
input.close();
jTextArea2.setText(new String(c,0,len)); ; // TODO add your handling code here:
} catch (IOException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
}
}
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NewJFrame1 extends javax.swing.JFrame {
DatagramSocket ds;
DatagramSocket ds1;
static String IP;
Thread thread;
public NewJFrame1() {
initComponents();
jTextField1.setText("127.0.0.1"); //设置IP地址文本框的初始值
try {
ds = new DatagramSocket(3001);
} catch (SocketException e) {
e.printStackTrace();
}
new Thread(new Runnable()//
{
DatagramPacket dy;
@Override
public void run() {
byte[] buf = new byte[1024];
dy = new DatagramPacket(buf, buf.length);
while (true) {
try {
ds.receive(dy);
String str = new String(buf, 0, buf.length);
jTextArea2.setText(jTextArea2.getText()+"\n"/*+dy.getAddress().getHostAddress() + "say:"*/ + str.trim());
} catch (IOException e) {
e.printStackTrace();
}
}
}
}).start(); //启动线程
}
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
byte[] buf;
String input=e.getActionCommand();
buf=input.getBytes();
DatagramPacket dp;
try {
dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(jTextField1.getText()), 3000);
ds.send(dp);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
((TextField) e.getSource()).setText("");
}
});
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
Writer out = null;
try {
String s;
DatagramPacket dp;
try {
s = jTextField3.getText() + ":" + jTextField2.getText();
byte[] buf = s.getBytes();
dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(jTextField1.getText()), 3000);
ds.send(dp);
jTextField2.setText("");
jTextArea2.setText(jTextArea2.getText()+"\n"+s+"\n");
} catch (Exception ex) {
ex.printStackTrace();
}
File f = new File("d:" + File.separator+"testoutput.txt");
out = new FileWriter(f);
String str= jTextArea2.getText();
out.write(str);
//out.flush();
out.close();
} catch (IOException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
out.close();
} catch (IOException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new Thread(new Runnable() {
DatagramPacket name;
public void run() {
byte[] buf = new byte[1024];
name = new DatagramPacket(buf, 1024);
while (true) {
try {
ds.receive(name);
String str = new String(name.getData(), 0, name.getLength());
jTextArea2.setText(str);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}).start();
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
File f = new File("d:" + File.separator+"testoutput.txt");
Reader input=new FileReader(f);
char[] c=new char[1024];
int temp=0;
int len=0;
while((temp=input.read())!=-1){
c[len]=(char) temp;
len++;
}
input.close();
jTextArea2.setText(new String(c,0,len)); ; // TODO add your handling code here:
} catch (IOException ex) {
Logger.getLogger(NewJFrame1.class.getName()).log(Level.SEVERE, null, ex);
}
}
相关文章推荐
- Java开发工具
- 10-8 uva1262密码
- 10-8 uva1262密码
- 4:虚幻引擎网络架构:技术要点总结篇
- package关键字的概述及作用
- C++:堆与栈区别
- linux tar 压缩
- c 中的类型转换
- 10.10NOIP模拟赛
- iOS-GCD多线程
- MySQL 获取间隔天数
- C++学习笔记7——vector
- 屏蔽控制台应用程序的窗口
- 代码块概述和分类
- 不借助第三个变量交换两个变量的值
- Oracle-创建表和表的约束
- Linux下Tomcat配置80端口(8080端口被禁用了)
- nyoj -5 Binary String Matching 【kmp】
- JuQueen(线段树 lazy)
- C++的64位整数