Java 网络五子棋游戏 1.docx

上传人:b****2 文档编号:2239957 上传时间:2022-10-28 格式:DOCX 页数:59 大小:42.58KB
下载 相关 举报
Java 网络五子棋游戏 1.docx_第1页
第1页 / 共59页
Java 网络五子棋游戏 1.docx_第2页
第2页 / 共59页
Java 网络五子棋游戏 1.docx_第3页
第3页 / 共59页
Java 网络五子棋游戏 1.docx_第4页
第4页 / 共59页
Java 网络五子棋游戏 1.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

Java 网络五子棋游戏 1.docx

《Java 网络五子棋游戏 1.docx》由会员分享,可在线阅读,更多相关《Java 网络五子棋游戏 1.docx(59页珍藏版)》请在冰豆网上搜索。

Java 网络五子棋游戏 1.docx

Java网络五子棋游戏1

第十二章网络五子棋游戏

一、以下为主窗体代码(MainFrame.java):

/**

*主窗体

*/

publicclassMainFrameextendsjavax.swing.JFrame{

privateSocketsocket;//定义控件类

privateObjectOutputStreamobjout;

privateUserBeantowardsUser;//对家

protectedUserBeanuser;//定义用户类

SocketserverSocket;//控件类构造方法

publicSocketgetServerSocket(){

returnserverSocket;//返回控件方法

}

publicSocketgetSocket(){

returnsocket;//返回控件类

}

/**

*向对家发送信息的方法

*

*-要发送的文本或其他类型的对象

*/

publicvoidsend(Objectmessage){

try{

objout.writeObject(message);//向对象输出流添加对象

objout.flush();

}catch(IOExceptionex){

Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE,null,ex);

}

}

publicUserBeangetUser(){

returnuser;//返回用户

}

/**

*设置用户信息的方法

*

*-本地用户对象

*/

publicvoidsetUser(UserBeanuser){

this.user=user;//调用this有参构造方法

//向用户信息面板添加昵称

userInfoTextArea.setText("昵称:

"+user.getName()+"\n");

//添加IP信息

userInfoTextArea.append("IP:

"+user.getHost().getHostAddress()+"\n");

//获取用户信息表格组件的数据模型对象

DefaultTableModelmodel=(DefaultTableModel)userInfoTable.getModel();

VectordataVector=model.getDataVector();

Vectorrow=newVector();//使用用户信息创建单行数据的向量

row.add(user.getName());//添加用户姓名

row.add(user.getHost().getHostName());//添加主机名称

row.add(user.getTime());//添加用户登录时间

if(!

dataVector.contains(row)){

model.getDataVector().add(row);//把用户信息添加到表格组件中

}

//设置本地用户的昵称

chessPanel1.leftInfoLabel.setText(user.getName());//设置用户信息文本域标签

userInfoTable.revalidate();

}

/**

*设置Socket连接和初始化对象输出流的方法

*

*-Socket对象

*/

publicvoidsetSocket(SocketchatSocketArg){

try{

socket=chatSocketArg;

OutputStreamos=socket.getOutputStream();//获取Socket的输出流

objout=newObjectOutputStream(os);//创建对象输出流

}catch(IOExceptionex){

Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE,null,ex);

}

}

/**

*主窗体的构造方法

*/

publicMainFrame(){

initComponents();//初始化窗体界面

setGlassPane(loginPanel1);//设置登录面板为玻璃面板

loginPanel1.setVisible(true);//显示登录面板

}

/**

*设置对家用户信息的方法

*-对家通过网络发送来的用户对象

*/

publicvoidsetTowardsUser(UserBeanuser){

this.towardsUser=user;//对家用户对象

DefaultTableModelmodel=(DefaultTableModel)userInfoTable.getModel();//获取用户信息列表的表格数据模型

Vectorrow=newVector();//创建承载表格单行数据的向量集合对象

row.add(towardsUser.getName());//添加用户姓名

row.add(towardsUser.getHost().getHostName());//添加主机名称

row.add(towardsUser.getTime());//添加用户登录时间

VectordataVector=model.getDataVector();//向量

if(!

dataVector.contains(row)){

model.getDataVector().add(row);//添加用户信息到表格中

}

chessPanel1.rightInfoLabel.setText(towardsUser.getName());

userInfoTable.revalidate();//设置对家用户头像的昵称

}

publicUserBeangetTowardsUser(){

returntowardsUser;//返回对家用户

}

/**

*初始化主窗体界面的方法

*/

privatevoidinitComponents(){

loginPanel1=newcom.lzw.gobang.LoginPanel();//创建登录面板的实例对象

chessPanel1=newcom.lzw.gobang.ChessPanel();//创建棋盘面板的实例对象

jPanel1=newjavax.swing.JPanel();//创建窗体1

jPanel3=newjavax.swing.JPanel();//创建窗体3

jLabel1=newjavax.swing.JLabel();//创建一个新的标签1

jLabel1.setBackground(Color.WHITE);//设置标签1的背景颜色

jScrollPane2=newjavax.swing.JScrollPane();//创建一个移动窗体2

userInfoTextArea=newjavax.swing.JTextArea();//创建一个用户信息输入框

jPanel4=newjavax.swing.JPanel();//创建一个新的控制面板4

jScrollPane1=newjavax.swing.JScrollPane();//创建一个移动窗体1

userInfoTable=newjavax.swing.JTable();//创建一个用户信息表

jPanel2=newjavax.swing.JPanel();//创建窗体2

jPanel5=newjavax.swing.JPanel();//创建窗体5

chatTextField=newjavax.swing.JTextField();//创建一个对话框

sendButton=newjavax.swing.JButton();//创建一个发送按钮

jScrollPane3=newjavax.swing.JScrollPane();//创建一个移动窗体3

chatArea=newjavax.swing.JTextArea();//创建一个对话区域窗

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);//设置默认关闭操作

setTitle("小小五子棋");//设置标题

getContentPane().add(chessPanel1,java.awt.BorderLayout.CENTER);//添加一个窗体界面

jPanel1.setLayout(newjavax.swing.BoxLayout(jPanel1,javax.swing.

BoxLayout.PAGE_AXIS));//设置窗体的布局

jPanel3.setBorder(javax.swing.BorderFactory

.createLineBorder(newjava.awt.Color(0,0,0)));//设置边框颜色

jPanel3.setPreferredSize(newjava.awt.Dimension(225,50));//设置窗体大小

jPanel3.setLayout(newjava.awt.BorderLayout());//设置边框

jLabel1.setIcon(newjavax.swing.ImageIcon(getClass().getResource(

"/res/infoPanelLeft.png")));//图片链接

jPanel3.add(jLabel1,java.awt.BorderLayout.WEST);//添加一个西面边框

userInfoTextArea.setColumns(20);//设置一个用户信息框大小

userInfoTextArea.setEditable(false);//设置是否编辑用户信息

userInfoTextArea.setLineWrap(true);//设置是否自动换行

userInfoTextArea.setRows(5);//设置用户信息输入行

jScrollPane2.setViewportView(userInfoTextArea);//添加用户信息显示框

jPanel3.add(jScrollPane2,java.awt.BorderLayout.CENTER);//在一个窗体中添加用户信息显示窗体属性设置

jPanel1.add(jPanel3);//在窗体中添加一个窗体

jPanel4.setBorder(javax.swing.BorderFactory.createLineBorder(

ne

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1