效果如图:
import java.awt.Color;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ConnectException;
import java.net.Socket;
import java.net.SocketException;
import java.net.UnknownHostException;
import javax.swing.*;
public class Client extends JFrame{
private ImageIcon qq = null;
private JLabel label1 = null;
private JLabel label2 = null;
private JTextField tf1 = null;
private JTextField tf2 = null;
private JButton button1 = null;
private TextArea ta = null;
private JButton button2 = null;
private JTextField tf3 = null;
private Socket s = null;
private boolean bConnected = false; //是否连接
private DataOutputStream dos = null;
private DataInputStream dis = null;
private Thread tRecv = null;
public void launchFrame() {
qq = new ImageIcon("images\\QQ.jpg");
label1 = new JLabel("服务器地址");
label2 = new JLabel("端口");
tf1 = new JTextField(10);
tf2 = new JTextField(10);
button1 = new JButton("连接");
ta = new TextArea();
button2 = new JButton("发送");
tf3 = new JTextField(20);
label1.setBounds(10, 5, 100, 25);
add(label1);
tf1.setBounds(80, 5, 130, 25);
add(tf1);
label2.setBounds(220, 5, 100, 25);
add(label2);
tf2.setBounds(250, 5, 80, 25);
add(tf2);
button1.setBounds(320, 5, 60, 25);
add(button1);
ta.setBounds(0, 40, 387, 160);
ta.setEditable(false); //设置其不可