📄 baseclient.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 + -