资源简介
基于socket编写的java五子棋项目,采用tcp iP协议。操作方法:先启动服务器,再开两个客户端,随便填写用户名加入游戏即可!
代码片段和文件信息
package djr.chess.client;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.Jframe;
import djr.chess.gui.UserChatPad;
import djr.chess.gui.UserControlPad;
import djr.chess.gui.UserInputPad;
import djr.chess.gui.UserListPad;
import djr.chess.pad.FIRPad;
// 五子棋客户端
public class FIRClient extends Jframe implements ActionListener KeyListener
{
// 客户端套接口
Socket clientSocket;
// 数据输入流
DataInputStream inputStream;
// 数据输出流
DataOutputStream outputStream;
// 用户名
String chessClientName = null;
// 主机地址
String host = null;
// 主机端口
int port = 4331;
// 是否在聊天
boolean isOnChat = false;
// 是否在下棋
boolean isOnChess = false;
// 游戏是否进行中
boolean isGameConnected = false;
// 是否为游戏创建者
boolean isCreator = false;
// 是否为游戏加入者
boolean isParticipant = false;
// 用户列表区
UserListPad userListPad = new UserListPad();
// 用户聊天区
UserChatPad userChatPad = new UserChatPad();
// 用户操作区
UserControlPad userControlPad = new UserControlPad();
// 用户输入区
UserInputPad userInputPad = new UserInputPad();
// 下棋区
FIRPad firPad = new FIRPad();
// 面板区
Panel southPanel = new Panel();
Panel northPanel = new Panel();
Panel centerPanel = new Panel();
Panel eastPanel = new Panel();
// 构造方法,创建界面
public FIRClient()
{
super(“Java 五子棋客户端“);
setLayout(new BorderLayout());
host = userControlPad.ipInputted.getText();
eastPanel.setLayout(new BorderLayout());
eastPanel.add(userListPad BorderLayout.NORTH);
eastPanel.add(userChatPad BorderLayout.CENTER);
eastPanel.setBackground(Color.LIGHT_GRAY);
userInputPad.contentInputted.addKeyListener(this);
firPad.host = userControlPad.ipInputted.getText();
centerPanel.add(firPad BorderLayout.CENTER);
centerPanel.add(userInputPad BorderLayout.SOUTH);
centerPanel.setBackground(Color.LIGHT_GRAY);
userControlPad.connectButton.addActionListener(this);
userControlPad.createButton.addActionListener(this);
userControlPad.joinButton.addActionListener(this);
userControlPad.cancelButton.addActionListener(this);
userControlPad.exitButton.addActionListener(this);
userControlPad.createButton.setEnabled(false);
userControlPad.joinButton.setEnabled(false);
userControlPad.cancelButton.setEnabled(false);
southPanel.add(userControlPad BorderLayout.CENTER);
southPanel.setBackground(Color.LIGHT_GRAY);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if (isOnChat)
{ // 聊天中
try
{ // 关闭客户端套接口
clientSocket.close();
}
catch (Exception ed){}
}
if (isOnChess || isGameConnected)
{ // 下棋中
try
{ // 关闭下棋端口
firPad.chessSocket.close();
}
catch (Exception ee){}
}
System.exit(0);
}
});
add(eastPanel BorderLayout.EAST);
add(centerPanel BorderLayout.CENTER);
add(southPanel BorderLayout.SOUTH);
pack();
se
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-23 12:50 5ziqi\
文件 232 2018-12-23 12:50 5ziqi\.classpath
文件 381 2018-12-23 12:50 5ziqi\.project
目录 0 2018-12-23 12:50 5ziqi\.settings\
文件 88 2018-12-23 12:50 5ziqi\.settings\org.eclipse.core.resources.prefs
文件 21197 2018-12-23 12:50 5ziqi\.settings\org.eclipse.jdt.core.prefs
文件 124 2018-12-23 12:50 5ziqi\.settings\org.eclipse.jdt.ui.prefs
目录 0 2018-12-23 12:50 5ziqi\bin\
目录 0 2018-12-23 12:50 5ziqi\bin\djr\
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\client\
文件 1118 2018-12-23 12:50 5ziqi\bin\djr\chess\client\FIRClient$1.class
文件 8394 2018-12-23 12:50 5ziqi\bin\djr\chess\client\FIRClient.class
文件 4160 2018-12-23 12:50 5ziqi\bin\djr\chess\client\FIRClientThread.class
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\
文件 720 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserChatPad.class
文件 1371 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserControlPad.class
文件 1207 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserInputPad.class
文件 956 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserListPad.class
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\
文件 9959 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRPad.class
文件 744 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRPointBlack.class
文件 744 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRPointWhite.class
文件 2290 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRThread.class
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\server\
文件 696 2018-12-23 12:50 5ziqi\bin\djr\chess\server\FIRServer$1.class
文件 4723 2018-12-23 12:50 5ziqi\bin\djr\chess\server\FIRServer.class
文件 8146 2018-12-23 12:50 5ziqi\bin\djr\chess\server\FIRServerThread.class
文件 1302 2018-12-23 12:50 5ziqi\bin\djr\chess\server\ServerMsgPanel.class
目录 0 2018-12-23 12:50 5ziqi\src\
目录 0 2018-12-23 12:50 5ziqi\src\djr\
............此处省略18个文件信息
- 上一篇:基于JavaWeb的博客网站的设计与实现毕业论文
- 下一篇:Java日历及备忘录
相关资源
- Java日历及备忘录
- 基于JavaWeb的博客网站的设计与实现毕
- Java开发的游戏 贪吃蛇 完整项目
- JAVA互联网架构师完整不加密版
- JAVA做的学生成绩管理系统带源码
- Java带数据库的银行管理系统
- 旅行商问题-A*算法-java
- 企业商品销售管理系统jsp+java+sql
- 疯狂Java讲义第4版.txt
- JAVA操作串口demo和dll动态库和jar包__
- 基于java银行管理系统的设计.doc
- java基于IE内核网页浏览器
- java实现多文件异步上传
- 史上最强大的java版的银行家算法
- 双色球JAVA代码
- java 版 简单的人员信息管理系统
- 纯java代码 一个计算数学表达式的程
- Java开发工具及组件应用视频教程
- 毕业设计素材
- 购物车jsp+sql server
- javassist-3.20.0-GA.jar
- java中键盘输入 的各种实现方式
- 学生信息管理系统--java实现
- java记事本课程设计论文
- 个人日常事务管理系统java版
- java开发的公司访客系统
- 简单实现AES-CBC-MAC算法
- JAVA计算器计算器JAVA计算器计算器
- 支付宝支付接口java调用
- LTK-Java-1.0.0.6源码包(RFID电子标签读写
评论
共有 条评论