@Override public void actionPerformed(ActionEvent e) { switch (e.getActionCommand()) { case "登录": try { String name = jtf_name.getText(); if (name.trim().equals("")) { JOptionPane.showMessageDialog(this, "请输入用户名"); return; } Socket socket = new Socket("127.0.0.1", 8215); connection = new MyConnection(socket); jbu_login.setEnabled(false); jbu_send.setEnabled(true); jtf_send.setEnabled(true); jtf_name.setEnabled(false); this.setTitle("聊天室--客户端:" + name); connection.sendMessage(name + "进入聊天室"); new Thread( new Runnable() { @Override public void run() { while (true) { String message = connection.rendMessage(); appendMessage(message); } } }) .start(); } catch (UnknownHostException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } break; case "发送": String message = jtf_send.getText(); if (!message.trim().equals("")) { connection.sendMessage(jtf_name.getText() + ":" + message); jtf_send.setText(""); } break; default: break; } }
private void refresh_user_list(String msg) { m.sendMessage("GET_MYNAME"); ul = null; ul = new User_List(); ul.setUsers(extract_users(msg)); ul.printUsers(); DefaultListModel lm = new DefaultListModel(); for (int i = 0; i < ul.getUserCount(); i++) lm.addElement(ul.getUserAt(i).getName()); MyList user_list = new MyList(ul, gui.getInputArea()); user_list.setModel(lm); gui.setUserList(user_list); }
@Override public void run() { String msg = ""; while (true) { msg = m.getMessage(); if (extractCommand(msg)) { /*code here*/ } else if (msg.length() > 16 && msg.substring(0, 16).equalsIgnoreCase("[Server Message]")) { gui.display(msg); m.sendMessage("GET_USERS"); } else { gui.display(msg); } } }