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

📄 simplechatclient.java

📁 exemple for using java chat client + server
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SimpleChatClient
	{
		JTextArea entrants;
		JTextField sortants;
		BufferedReader lecture;
		PrintWriter ecriture;
		Socket sock;
		String nompseudo;
		String iprotocol= "127.0.0.1";
		public SimpleChatClient(String nom)
			{
				nompseudo=nom;
			}
		public SimpleChatClient(String nom, String internetprotocol)
			{
				iprotocol=internetprotocol;
				nompseudo=nom;
			}
		public SimpleChatClient()
			{
			}
		public static void main(String[] args)
			{
				SimpleChatClient client = new SimpleChatClient();
				client.go();
			}
		public void go()
			{
				JFrame cadre = new JFrame("Chat v 1.0 www.gilles4.com");
				cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				cadre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				JPanel panneau= new JPanel();
				entrants=new JTextArea(15,30);
				entrants.setLineWrap(true);
				entrants.setWrapStyleWord(true);
				entrants.setEditable(false);
				JScrollPane zoneTexte = new JScrollPane(entrants);
				zoneTexte.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
				zoneTexte.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
				sortants = new JTextField(20);
				JButton boutonEnvoi = new JButton("Envoyer...");
				boutonEnvoi.addActionListener(new EcouteBoutonEnvoi());
				panneau.add(zoneTexte);
				panneau.add(sortants);
				panneau.add(boutonEnvoi);
				installerReseau();
				Thread threadLecture= new Thread(new LectureEntrants());
				threadLecture.start();
				cadre.getContentPane().add(BorderLayout.CENTER, panneau);
				cadre.setSize(400,350);
				cadre.setVisible(true);
			}
		private void installerReseau()
			{
				try
					{
						sock= new Socket(iprotocol,5000);
						InputStreamReader isr= new InputStreamReader(sock.getInputStream());
						lecture= new BufferedReader(isr);
						ecriture= new PrintWriter(sock.getOutputStream());
						System.out.println("Connection 閠ablie");
					}
				catch(Exception e)
					{
						e.printStackTrace();
					}
			}
		public class EcouteBoutonEnvoi implements ActionListener
			{
				public void actionPerformed(ActionEvent ev)
					{
						try
							{
								ecriture.println(nompseudo+" dit: "+sortants.getText());
								ecriture.flush();
							}
						catch(Exception e)
							{
								e.printStackTrace();
							}
						sortants.setText("");
						sortants.requestFocus();
					}
			}
		public class LectureEntrants implements Runnable
			{
				public void run()
					{
						String message;
						try
							{
								while((message=lecture.readLine()) !=null)
									{
										System.out.println("lire "+message);
										entrants.append(message +"\n");
									}
							}
						catch(Exception e)
							{
								e.printStackTrace();
							}
					}
			}
	}

⌨️ 快捷键说明

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