java 编写的简易QQ 客户端的界面显示不出来
import java.net.*;import java.awt.BorderLayout;
import java.awt.TextArea;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Client extends JFrame{
BufferedReader br = null;
// BufferedReader br2 = null;
PrintWriter pw = null;
Socket socket = null;
private JButton button=null;
private TextArea textArea=null;
private JTextField textField=null;
private String str=null;
private String str1=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Client frame=new Client();
frame.setTitle("QQ.client");
frame.setSize(500,300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public Client() {
JPanel panel=new JPanel();
button=new JButton("发送");
textField=new JTextField(20);
panel.add(textField);
panel.add(button);
textArea=new TextArea();
this.add(new JScrollPane(textArea),BorderLayout.CENTER);
this.add(panel,BorderLayout.SOUTH);
try {
socket = new Socket("localhost", 8080);
InputStreamReader isr=new InputStreamReader(socket.getInputStream());
pw=new PrintWriter(socket.getOutputStream(),true);
br=new BufferedReader(isr);
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
str=textField.getText();
textArea.append("客户端 对 服务器说:"+str+"\r\n");
textField.setText("");
pw.println(str);
}
});
textField.addKeyListener(new KeyAdapter(){
@Override
public void keyPressed(KeyEvent arg0) {
if(arg0.getKeyChar()==arg0.VK_ENTER){
str=textField.getText();
textField.setText("");
textArea.append("客户端 对 服务器说:"+str+"\r\n");
pw.println(str);
}
// TODO Auto-generated method stub
}
});
while(true){
str1=br.readLine();
textArea.append("服务器 对 客户端说:"+str1+"\r\n");
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} finally{
try {
br.close();
pw.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//客户端
//服务器
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Main extends JFrame{
BufferedReader br = null;
//BufferedReader br2 = null;
PrintWriter pw = null;
Socket socket = null;
private JButton button=null;
private TextArea textArea=null;
private JTextField textField=null;
private String str=null;
private String str1=null;
public static void main(String[] args) {
// TODO Auto-generated method stub
Main frame=new Main();
frame.setTitle("QQ");
frame.setSize(500,300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public Main() {
JPanel panel=new JPanel();
button=new JButton("send");
textField=new JTextField(20);
panel.add(textField);
panel.add(button);
textArea=new TextArea();
this.add(new JScrollPane(textArea),BorderLayout.CENTER);
this.add(panel,BorderLayout.SOUTH);
textArea=new TextArea();
//str=new String();
//str1=new String();
try {
ServerSocket serverSocket=new ServerSocket(8080);
System.out.println("我在8080端口监听");
socket=serverSocket.accept();
InputStreamReader isr=new InputStreamReader(socket.getInputStream());
br=new BufferedReader(isr);
pw=new PrintWriter(socket.getOutputStream(),true);
while(true){
str1=br.readLine();
textArea.append("客户端 对 服务器说:"+str1+"\r\n");
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
str=textField.getText();
textArea.append("服务器 对 客户端说:"+str+"\r\n");
textField.setText("");
pw.println(str);
}
});
textField.addKeyListener(new KeyAdapter(){
@Override
public void keyPressed(KeyEvent arg0) {
if(arg0.getKeyChar()==arg0.VK_ENTER){
str=textField.getText();
textArea.append("服务器 对 客户端说:"+str+"\r\n");
textField.setText("");
pw.println(str);
}
// TODO Auto-generated method stub
}
});
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
br.close();
pw.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
--------------------编程问答-------------------- 在线等帮助! --------------------编程问答-------------------- 除
补充:Java , Eclipse