📄 wuziqiclientframe.java~80~
字号:
isOnChess = true; isClient = true; CreateGame.setEnabled(false); JoinGame.setEnabled(false); GiveUpGame.setEnabled(true); chesspanel.chessthread.sendMessage("/joingame " + (String)userList.getSelectedValue() + " " + chessClientName); } } catch (Exception ee) { isGameConnected = false; isOnChess = false; isClient = false; CreateGame.setEnabled(true); JoinGame.setEnabled(true); GiveUpGame.setEnabled(false); this.chatTextArea.setText("chesspanel.connectServer无法连接 \n" + ee); } } } void CreateGame_actionPerformed(ActionEvent e) { try { if (!isGameConnected) { if (chesspanel.connectServer(chesspanel.host, chesspanel.port)) { isGameConnected = true; isOnChess = true; isServer = true; CreateGame.setEnabled(false); JoinGame.setEnabled(false); GiveUpGame.setEnabled(true); chesspanel.chessthread.sendMessage("/creatgame " + "[inchess]" + chessClientName); } } else{ isOnChess = true; isServer = true; CreateGame.setEnabled(false); JoinGame.setEnabled(false); GiveUpGame.setEnabled(true); chesspanel.chessthread.sendMessage("/creatgame " + "[inchess]" + chessClientName); } } catch(Exception ec){ isGameConnected = false; isOnChess = false; isServer = false; CreateGame.setEnabled(true); JoinGame.setEnabled(true); GiveUpGame.setEnabled(false); ec.printStackTrace(); this.chatTextArea.setText("chesspanel.connectServer无法连接 \n" + ec); } } void GiveUpGame_actionPerformed(ActionEvent e) { if (isOnChess){ chesspanel.chessthread.sendMessage("/giveup " + chessClientName); chesspanel.chessVictory( -1 * chesspanel.chessColor); CreateGame.setEnabled(true); JoinGame.setEnabled(true); GiveUpGame.setEnabled(false); chesspanel.jTextField1.setText("请建立游戏或者加入游戏"); } if (!isOnChess){ CreateGame.setEnabled(true); JoinGame.setEnabled(true); GiveUpGame.setEnabled(false); chesspanel.jTextField1.setText("请建立游戏或者加入游戏"); } isClient = isServer = false; } }class clientThread extends Thread{ wuziqiClientFrame wuziqiClient; public clientThread(wuziqiClientFrame wuziqiClient){ this.wuziqiClient=wuziqiClient; } public void run(){ String message = ""; try{ while (true){ message = wuziqiClient.in.readUTF(); System.out.println("客户端接受的信息"+message); acceptMessage(message); } } catch (IOException es){ } } //clientThread接收消息部分,接收消息并且作处理; public void acceptMessage(String recMessage){ if (recMessage.startsWith("/userlist ")){ //使用" "对接收到的用户列表进行解析;用于获取所有用户信息 StringTokenizer userToken = new StringTokenizer(recMessage, " "); int userNumber = 0; //把wuziqiClient的在线用户列表userList中的数据全部移出 //wuziqiClient中聊天人的用户选择 wuziqiClient.ListL.removeAllElements(); wuziqiClient.ListChoice.removeAllElements(); wuziqiClient.ListChoice.addElement("所有人"); //添加"所有人" //取出用户列表 while(userToken.hasMoreTokens()){ String user = (String) userToken.nextToken(" "); //第一个参数后面的为用户列表 if(userNumber > 0 && !user.startsWith("[inchess]")){ //在Vector中添加字符串数据 wuziqiClient.ListL.add(user); wuziqiClient.ListChoice.add(user); //用户选择列表中添加用户 } userNumber++; } wuziqiClient.userList.setSelectedIndex(0); wuziqiClient.userChoice.setSelectedIndex(0); wuziqiClient.show(); } else if (recMessage.startsWith("/yourname ")){//接收到/yourname信息 wuziqiClient.chessClientName = recMessage.substring(10); wuziqiClient.setTitle("Java五子棋客户端 " + "用户名:" + wuziqiClient.chessClientName); } else if (recMessage.equals("/reject")){//加入游戏不成功 try{ //让游戏面板的jTextField显示"不能加入游戏"信息; wuziqiClient.chesspanel.jTextField1.setText("不能加入游戏"); //放弃游戏按钮失效,加入游戏和创建游戏按钮回显 wuziqiClient.GiveUpGame.setEnabled(false); wuziqiClient.JoinGame.setEnabled(true); wuziqiClient.CreateGame.setEnabled(true); } catch(Exception ef){ //出现错误,则显示相关提示信息 wuziqiClient.userWords.setText("chessclient.chesspad.chessSocket.close无法关闭"); } wuziqiClient.JoinGame.setEnabled(true); } else if (recMessage.startsWith("/peer ")){ wuziqiClient.chesspanel.chessPeerName = recMessage.substring(6); if(wuziqiClient.isServer){ wuziqiClient.chesspanel.chessColor = 1; wuziqiClient.chesspanel.isMouseEnabled = true; wuziqiClient.chesspanel.jTextField1.setText("请黑棋下子"); } else if(wuziqiClient.isClient){ wuziqiClient.chesspanel.chessColor = -1; wuziqiClient.chesspanel.jTextField1.setText("已加入游戏,等待对方下子..."); } } else if (recMessage.equals("/youwin")){ wuziqiClient.isOnChess = false; wuziqiClient.chesspanel.chessVictory(wuziqiClient.chesspanel.chessColor); wuziqiClient.chesspanel.jTextField1.setText("对方退出,请点放弃游戏退出连接"); wuziqiClient.chesspanel.isMouseEnabled = false; } else if (recMessage.equals("/OK")){ wuziqiClient.chesspanel.jTextField1.setText("创建游戏成功,等待别人加入..."); } else if (recMessage.equals("/error")){ wuziqiClient.chatTextArea.append("传输错误:请退出程序,重新加入 \n"); } else{ wuziqiClient.chatTextArea.append(recMessage + "\n"); wuziqiClient.chatTextArea.setCaretPosition( wuziqiClient.chatTextArea.getText().length()); } }}class wuziqiClientFrame_userWords_keyAdapter extends java.awt.event.KeyAdapter { wuziqiClientFrame adaptee; wuziqiClientFrame_userWords_keyAdapter(wuziqiClientFrame adaptee) { this.adaptee = adaptee; } public void keyPressed(KeyEvent e) { adaptee.userWords_keyPressed(e); }}class wuziqiClientFrame_ConnectGame_actionAdapter implements java.awt.event.ActionListener { wuziqiClientFrame adaptee; wuziqiClientFrame_ConnectGame_actionAdapter(wuziqiClientFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.ConnectGame_actionPerformed(e); }}class wuziqiClientFrame_CloseGame_actionAdapter implements java.awt.event.ActionListener { wuziqiClientFrame adaptee; wuziqiClientFrame_CloseGame_actionAdapter(wuziqiClientFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.CloseGame_actionPerformed(e); }}class wuziqiClientFrame_JoinGame_actionAdapter implements java.awt.event.ActionListener { wuziqiClientFrame adaptee; wuziqiClientFrame_JoinGame_actionAdapter(wuziqiClientFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.JoinGame_actionPerformed(e); }}class wuziqiClientFrame_CreateGame_actionAdapter implements java.awt.event.ActionListener { wuziqiClientFrame adaptee; wuziqiClientFrame_CreateGame_actionAdapter(wuziqiClientFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.CreateGame_actionPerformed(e); }}class wuziqiClientFrame_GiveUpGame_actionAdapter implements java.awt.event.ActionListener { wuziqiClientFrame adaptee; wuziqiClientFrame_GiveUpGame_actionAdapter(wuziqiClientFrame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.GiveUpGame_actionPerformed(e); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -