⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.java

📁 简单的网络聊天室
💻 JAVA
字号:
package com.oristand;

import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.*;

public class Client {
	ServerSocket ss;
	Socket s;
	String username;

	PrintStream ps;
	int myport;

	JFrame jf = new JFrame("Client");
	JTextArea jtainput = new JTextArea();
	JScrollPane jsp1 = new JScrollPane(jtainput);
	JTextField jtaoutput = new JTextField(18);
	JScrollPane jsp2 = new JScrollPane(jtaoutput);
	JPanel jp1 = new JPanel();
	JPanel jp2 = new JPanel();
	JPanel jp3 = new JPanel();
	JLabel jlname = new JLabel();
	JLabel jl = new JLabel("在线列表:");
	JList jlist = new JList();
	JLabel jl1 = new JLabel("你在对:");
	JTextField jtf = new JTextField(5);
	JButton jb = new JButton("发送");
	DefaultListModel model = new DefaultListModel();
	
	public Client() {
		jf.setSize(400, 500);
		jf.setLocation(300, 100);
		jtainput.setEditable(false);
		jf.setLayout(new BorderLayout(5, 15));
		jf.add(jlname, BorderLayout.NORTH);
		jf.add(jp1, BorderLayout.CENTER);
		jf.add(jp3, BorderLayout.SOUTH);
		jp1.setLayout(new BorderLayout(15, 8));
		jp2.setLayout(new BorderLayout());
		jp1.add(jsp1, BorderLayout.CENTER);
		jp1.add(jp2, BorderLayout.EAST);
		jp2.add(jl, BorderLayout.NORTH);
		jp2.add(jlist);
		jlist.setModel(model);
		jp3.add(jl1);
		jp3.add(jtf);
		jp3.add(jsp2);
		jp3.add(jb);
		
		jtf.setEditable(false);
		jf.setVisible(true);

		jb.addActionListener(new ActionListener(){

			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				
				ps.println(jtf.getText());
				
			}	
			
		});
		jf.addWindowListener(new WindowAdapter() {

			public void windowClosing(WindowEvent e) {
				// TODO Auto-generated method stub
				
				System.exit(0);				
			}

		});
		
		try {
			ss=new ServerSocket(myport);
		
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		try {
			s=new Socket("202.195.98.37",9999);
			ObjectOutputStream oos = new ObjectOutputStream(s
					.getOutputStream());
		
		} catch (UnknownHostException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		ClientThread t=new ClientThread();
		t.start();
}
	class ClientThread extends Thread{
		public void run(){
			
			try {
				ObjectInputStream ois =new ObjectInputStream(s.getInputStream());
				while(true){
					
					
						jtainput.append(ois.readObject().toString());
				}
				} catch (ClassNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
			}
			
			
		}	
	public static void main(String[] args) {

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -