各位大大。我想弄个简单的聊天工具。想把IO与SWING结合。可是不太会。希望各位帮忙。小弟谢了。
package zicq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.*;public class SimpleServer extends Thread {
Socket skt; public SimpleServer(Socket skt) { this.skt = skt;
} @Override
public void run() {// 该线程实现从对方读取数据
try { InputStream is = skt.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (true) {
String s = br.readLine();// 从套接字里读
System.out.println(skt.getInetAddress().getHostAddress() + "说:"
+ s);
if (s.equalsIgnoreCase("stop")) { break;
} } } catch (IOException e) { e.printStackTrace();
} } public static void main(String[] args) {
try {
ServerSocket sskt = new ServerSocket(7777);
System.out.println("7777等待连接.............");
Socket skt = sskt.accept();// 阻塞方法
System.out.println("7777连接成功"); SimpleServer ss = new SimpleServer(skt);
ss.start();
// 从键盘读入并写给对方
BufferedReader brs = new BufferedReader(new InputStreamReader(
System.in));// 从键盘中读入数据
OutputStream os = skt.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));// 从Socket里获得输出流 while (true) { String str = brs.readLine();// 从键盘中读 pw.println("服务器:" + str);
pw.flush(); } } catch (IOException e) { e.printStackTrace();
} }
}
package zicq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;public class SimpleSocket extends Thread {
Socket skt; public SimpleSocket(Socket skt) { this.skt = skt;
} @Override
public void run() {// 该线程实现从对方读取数据
try { InputStream is = skt.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (true) {
String s = br.readLine();// 从套接字里读
System.out.println(skt.getInetAddress().getHostAddress() + "说:"
+ s);
if (s.equalsIgnoreCase("stop")) { break;
} } } catch (IOException e) { e.printStackTrace();
} } public static void main(String[] args) {
try {
Socket skt = new Socket("127.0.0.1", 7777); SimpleSocket ss = new SimpleSocket(skt);
ss.start();
// 从键盘读入并写给对方
BufferedReader brs = new BufferedReader(new InputStreamReader(
System.in));// 从键盘中读入数据
OutputStream os = skt.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));// 从Socket里获得输出流 while (true) { String str = brs.readLine();// 从键盘中读 pw.println(str);
pw.flush(); } } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}
package zicq; import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*; public class Test2 extends JFrame {
JButton okBut;
JButton clareBut;
JTextField addressJtf;//文本框
TextArea content;//文本域
//1.36
/////////////////////////////////////////////////////
public Test2(){
this.setTitle("SayWhat");
this.setBounds(300, 100, 700, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=this.getContentPane();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
c.add(jp1,BorderLayout.NORTH);
c.add(jp2,BorderLayout.SOUTH); JLabel addressLab=new JLabel("(#‵′)凸");
addressJtf=new JTextField(17);
jp1.add(addressLab);
jp1.add(addressJtf);
okBut=new JButton("确认");
clareBut=new JButton("清空");
jp2.add(okBut);
jp2.add(clareBut);
content=new TextArea();
c.add(content); okBut.addActionListener(new OtherClass( okBut, clareBut, addressJtf,
content) );
clareBut.addActionListener(new OtherClass( okBut, clareBut, addressJtf,
content) );
}
public static void main(String[] args) {
new Test2().setVisible(true);
}
}
package zicq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.*;public class SimpleServer extends Thread {
Socket skt; public SimpleServer(Socket skt) { this.skt = skt;
} @Override
public void run() {// 该线程实现从对方读取数据
try { InputStream is = skt.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (true) {
String s = br.readLine();// 从套接字里读
System.out.println(skt.getInetAddress().getHostAddress() + "说:"
+ s);
if (s.equalsIgnoreCase("stop")) { break;
} } } catch (IOException e) { e.printStackTrace();
} } public static void main(String[] args) {
try {
ServerSocket sskt = new ServerSocket(7777);
System.out.println("7777等待连接.............");
Socket skt = sskt.accept();// 阻塞方法
System.out.println("7777连接成功"); SimpleServer ss = new SimpleServer(skt);
ss.start();
// 从键盘读入并写给对方
BufferedReader brs = new BufferedReader(new InputStreamReader(
System.in));// 从键盘中读入数据
OutputStream os = skt.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));// 从Socket里获得输出流 while (true) { String str = brs.readLine();// 从键盘中读 pw.println("服务器:" + str);
pw.flush(); } } catch (IOException e) { e.printStackTrace();
} }
}
package zicq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;public class SimpleSocket extends Thread {
Socket skt; public SimpleSocket(Socket skt) { this.skt = skt;
} @Override
public void run() {// 该线程实现从对方读取数据
try { InputStream is = skt.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (true) {
String s = br.readLine();// 从套接字里读
System.out.println(skt.getInetAddress().getHostAddress() + "说:"
+ s);
if (s.equalsIgnoreCase("stop")) { break;
} } } catch (IOException e) { e.printStackTrace();
} } public static void main(String[] args) {
try {
Socket skt = new Socket("127.0.0.1", 7777); SimpleSocket ss = new SimpleSocket(skt);
ss.start();
// 从键盘读入并写给对方
BufferedReader brs = new BufferedReader(new InputStreamReader(
System.in));// 从键盘中读入数据
OutputStream os = skt.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));// 从Socket里获得输出流 while (true) { String str = brs.readLine();// 从键盘中读 pw.println(str);
pw.flush(); } } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}
package zicq; import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*; public class Test2 extends JFrame {
JButton okBut;
JButton clareBut;
JTextField addressJtf;//文本框
TextArea content;//文本域
//1.36
/////////////////////////////////////////////////////
public Test2(){
this.setTitle("SayWhat");
this.setBounds(300, 100, 700, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=this.getContentPane();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
c.add(jp1,BorderLayout.NORTH);
c.add(jp2,BorderLayout.SOUTH); JLabel addressLab=new JLabel("(#‵′)凸");
addressJtf=new JTextField(17);
jp1.add(addressLab);
jp1.add(addressJtf);
okBut=new JButton("确认");
clareBut=new JButton("清空");
jp2.add(okBut);
jp2.add(clareBut);
content=new TextArea();
c.add(content); okBut.addActionListener(new OtherClass( okBut, clareBut, addressJtf,
content) );
clareBut.addActionListener(new OtherClass( okBut, clareBut, addressJtf,
content) );
}
public static void main(String[] args) {
new Test2().setVisible(true);
}
}
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.*;public class SimpleServer extends Thread {
Socket skt;public SimpleServer(Socket skt) {this.skt = skt;
}@Override
public void run() {// 该线程实现从对方读取数据
try {InputStream is = skt.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));while (true) {
String s = br.readLine();// 从套接字里读
System.out.println(skt.getInetAddress().getHostAddress() + "说:"
+ s);
if (s.equalsIgnoreCase("stop")) {break;
}}} catch (IOException e) {e.printStackTrace();
}}public static void main(String[] args) {
try {
ServerSocket sskt = new ServerSocket(7777);
System.out.println("7777等待连接.............");
Socket skt = sskt.accept();// 阻塞方法
System.out.println("7777连接成功");SimpleServer ss = new SimpleServer(skt);
ss.start();
// 从键盘读入并写给对方
BufferedReader brs = new BufferedReader(new InputStreamReader(
System.in));// 从键盘中读入数据
OutputStream os = skt.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));// 从Socket里获得输出流while (true) {String str = brs.readLine();// 从键盘中读pw.println("服务器:" + str);
pw.flush();}} catch (IOException e) {e.printStackTrace();
}}
}
package zicq;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;public class SimpleSocket extends Thread {
Socket skt;public SimpleSocket(Socket skt) {this.skt = skt;
}@Override
public void run() {// 该线程实现从对方读取数据
try {InputStream is = skt.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));while (true) {
String s = br.readLine();// 从套接字里读
System.out.println(skt.getInetAddress().getHostAddress() + "说:"
+ s);
if (s.equalsIgnoreCase("stop")) {break;
}}} catch (IOException e) {e.printStackTrace();
}}public static void main(String[] args) {
try {
Socket skt = new Socket("127.0.0.1", 7777);SimpleSocket ss = new SimpleSocket(skt);
ss.start();
// 从键盘读入并写给对方
BufferedReader brs = new BufferedReader(new InputStreamReader(
System.in));// 从键盘中读入数据
OutputStream os = skt.getOutputStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(os));// 从Socket里获得输出流while (true) {String str = brs.readLine();// 从键盘中读pw.println(str);
pw.flush();}} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}
package zicq;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.*;public class Test2 extends JFrame {
JButton okBut;
JButton clareBut;
JTextField addressJtf;//文本框
TextArea content;//文本域
//1.36
/////////////////////////////////////////////////////
public Test2(){
this.setTitle("SayWhat");
this.setBounds(300, 100, 700, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c=this.getContentPane();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
c.add(jp1,BorderLayout.NORTH);
c.add(jp2,BorderLayout.SOUTH);JLabel addressLab=new JLabel("(#‵′)凸");
addressJtf=new JTextField(17);
jp1.add(addressLab);
jp1.add(addressJtf);okBut=new JButton("确认");
clareBut=new JButton("清空");jp2.add(okBut);
jp2.add(clareBut);content=new TextArea();
c.add(content);okBut.addActionListener(new OtherClass( okBut, clareBut, addressJtf,
content) );
clareBut.addActionListener(new OtherClass( okBut, clareBut, addressJtf,
content) );
}public static void main(String[] args) {
new Test2().setVisible(true);
}
}