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

📄 baseclient.java

📁 用Java实现的网络画图程序
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;
import java.text.DateFormat;
import java.util.*;
import javax.swing.*;

public class BaseClient extends JPanel {
	protected JList messageList ;
	protected DefaultListModel listModel; 
	protected JTextField messageField;
	
	protected ChatServer server;

	protected static String userid;
	public BaseClient () {
		buildLayout();
	}

	public BaseClient (String user,ChatServer s) {
		this();
		userid =user;
		server =s;
	}

	protected void buildLayout() {
		 try {
	          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	      } catch (Exception exc) {
	          System.err.println("Error loading L&F: " + exc);
	      }

		setLayout(new BorderLayout());
		listModel =new DefaultListModel ();
		messageList =new JList (listModel);
		JScrollPane scrollPane =new JScrollPane(messageList);
		add(scrollPane,BorderLayout.CENTER);
		
		ActionListener listener =new ActionListener(){
			public void actionPerformed (ActionEvent e){
				String message=messageField.getText();
				try{
					server.broadcastMessage(userid+":"+message);
				}catch (Exception ev){}
			}
		};
		JPanel commandPanel =new JPanel();
		messageField  =new JTextField (20);
		messageField.addActionListener(listener);
		commandPanel.add(messageField);
		
		JButton sendButton =new JButton("send");
		sendButton.addActionListener(listener);
		commandPanel.add(sendButton);
		add(commandPanel,BorderLayout.SOUTH);
	}
	
	public void displayMessage(ChatMessage message){
		DateFormat formatter =DateFormat.getTimeInstance(DateFormat.SHORT);
		java.util.Date msgDate=message.messageDate;
		String messageText=message.messageText;
		String line ="("+formatter.format(msgDate)+") "+messageText;
		listModel.addElement(line);
		int count =listModel.getSize();
		
	}

	public void displayHistory() throws Exception {
		ChatMessage[] messages= server.getHistory();
		for (int i=0;i<messages.length;i++){
			displayMessage(messages[i]);
		}
	}

	static public String getUser(){
		return userid;
	}
}
	     	
	 

⌨️ 快捷键说明

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