errmsg = \包含敏感信息,信息发送失败!\\n\ break; } }
long timenow = (new Date()).getTime();// 获得当前时间信息 /*
* 防刷屏 */
if (timenow - time < TIME_BETWEEN_MSG * 1000) {
errmsg = \发送信息的最短间隔为\秒,请勿刷屏!\\n\
}
if (errmsg == null) {
time = timenow;// 记录发送信息时间 return true;
} else if (msgto == null) ta.append(errmsg); else
((ChatWindow) users.get(msgto)).tas.append(errmsg); return false; }
2.5私聊窗口类的实现
private class ChatWindow {
JFrame fs; JTextArea tas; String name;
public ChatWindow(String username) { this.name = username; fs = new JFrame(); fs.setSize(400, 200);
fs.setTitle(SOFTWARE + \与\私聊\ fs.setLocation(300, 200); tas = new JTextArea();
JScrollPane sps = new JScrollPane(tas); tas.setEditable(false);
final JTextField tfs = new JTextField(); JPanel ps = new JPanel(new BorderLayout()); // JComboBox cbs = new JComboBox();
10
// cbs.addItem(name);
// ps.add(cbs, BorderLayout.WEST); ps.add(tfs);
fs.getContentPane().add(ps, BorderLayout.SOUTH); fs.getContentPane().add(sps); /*
* 监听用户在私聊窗口输入的信息(匿名内部类) */
tfs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (users.containsKey(name)) {////////////////////////////////////////////
if (isAllowed(e.getActionCommand(), name)) { sendMsg(name, e.getActionCommand(), true);
tfs.setText(null); } } else {
tas.append(\信息发送失败,用户已经离开聊天室.\\n\
} } }); } }
11
三、系统测试
3.1测试方案
采用白盒测试,也称为结构化测试、基于代码的测试,是一种测试用例
设计方法,它从程序的控制结构导出测试用例。
由于测试采用的是白盒单元测试,所以,我们的测试原则是: 1.准备测试数据和预期结果
2.调用测试单元对测试数据进行处理,得到处理结果 3.比较处理结果和预期结果是否匹配
3.2测试用例
测试所用数据:
用户总数4名,分别为:冰玉翔翎、只为你写诗、四季如春、
3.3测试结果
用户登录界面如图3.1所示:
12
北北1 陌
图3.1用户登录界面
两人私聊界面如图3.2所示:
13
14