jtextFiled
如何将显示的每句话都显示在区域内
使用append方法
+‘“\r\n"等用于换行
package han87twoServer;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.channels.WritePendingException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Server extends JFrame implements ActionListener {
/**
* @param args
*/
JTextArea jta=new JTextArea();
JTextField jtf=new JTextField(20);
JButton jb=new JButton("发送");
JPanel jp1=new JPanel();
JScrollPane jsp=new JScrollPane(jta);
PrintWriter pw=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Server s1=new Server();
}
public Server(){
jp1.add(jtf);
jp1.add(jb);
jb.addActionListener(this);
this.add(jsp,"Center");
this.add(jp1,"South");
this.setSize(400, 300);
this.setVisible(true);
this.setTitle("服务器");
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
//服务器监听
ServerSocket ss;
try {
ss = new ServerSocket(9999);
Socket s=ss.accept();
InputStreamReader isr1=new InputStreamReader(s.getInputStream());
BufferedReader br1=new BufferedReader(isr1);
pw=new PrintWriter(s.getOutputStream(),true);
while(true){
String info =br1.readLine();
jta.append("来自客户端的消息"+"\r\n"+info+"\r\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb){
String infoFromServer=jtf.getText();
jta.append("对客户端说"+infoFromServer+"\r\n");
pw.println(infoFromServer);
jtf.setText("");
}
}
}
客户端
package han87twoClient;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import han87twoServer.Server;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Client extends JFrame implements ActionListener{
/**
* @param args
*/
JTextArea jta=new JTextArea();
JTextField jtf=new JTextField(20);
JButton jb=new JButton("发送");
JPanel jp1=new JPanel();
JScrollPane jsp=new JScrollPane(jta);
PrintWriter pw=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Client c1=new Client();
}
public Client(){
jp1.add(jtf);
jp1.add(jb);
jb.addActionListener(this);
this.add(jsp,"Center");
this.add(jp1,"South");
this.setSize(400, 300);
this.setVisible(true);
this.setTitle("客户端");
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
try {
Socket s=new Socket("127.0.0.1",9999);
InputStreamReader isr1=new InputStreamReader(s.getInputStream());
BufferedReader br1=new BufferedReader(isr1);
pw =new PrintWriter(s.getOutputStream(),true);
while(true){
String infoFromServer =br1.readLine();
jta.append("来自服务器的消息:"+"\r\n"+infoFromServer+"\r\n");
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb){
String infoFromClient =jtf.getText();
jta.append("对服务器说"+infoFromClient+"\r\n");
pw.println(infoFromClient);
jtf.setText("");
}
}
}