import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Third
{
public Third th;
public JFrame jf3;
public DrawQiPan QiPan;
public static String name2;
public static String headicon2;
public static JTextArea talk = new JTextArea();
public static Stack<Integer> stack = new Stack<Integer>();
private JButton jb1 = new JButton("退出");
private JButton jb2 = new JButton("开始");
private JButton jb3 = new JButton("求和");
private JButton jb4 = new JButton("悔棋");
private JButton jb5 = new JButton("认输");
private JButton jb6 = new JButton("发送");
private JTextField Text = new JTextField();
private JTextField name;
private JLabel headicon;
public Third(Third th,JFrame jf3,DrawQiPan QiPan,JTextField name,JLabel headicon)
{
try
{
this.th = th;
this.jf3 = jf3;
this.QiPan = QiPan;
this.name = name;
this.headicon = headicon;
}
catch(Exception e)
{
e.printStackTrace();
}
}
public JSplitPane createPane()
{
JTabbedPane jtp1 = new JTabbedPane();
JTabbedPane jtp2 = new JTabbedPane();
JTabbedPane jtp3 = new JTabbedPane();
JTabbedPane jtp4 = new JTabbedPane();
JPanel jp1 = new JPanel();
JPanel jp12 = new JPanel();
JPanel jp2 = new JPanel();
JPanel jp22 = new JPanel();
JPanel jp4 = new JPanel();
JPanel jp42 = new JPanel();
JPanel jp51 = new JPanel();
JLabel jl11 = new JLabel(new ImageIcon("./res/img/5.gif"));
JLabel jl121 = new JLabel(new ImageIcon(headicon2),JLabel.CENTER);
JLabel jl122 = new JLabel(name2);
JLabel jl13 = new JLabel("剩余时间:");
JLabel jl21 = new JLabel(new ImageIcon("./res/img/21.gif"));
JLabel jl222 = new JLabel(name.getText());
JLabel jl23 = new JLabel("剩余时间:");
JLabel jl511 = new JLabel("<<<象棋游戏>>>");
J_Action a = new J_Action();
JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane leftSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
JSplitPane rightSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
JSplitPane left_leftSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
jp12.add(jl121); ////////////////////////////////////////////////
jp12.add(jl122);
jp1.setLayout(null);
jp1.add(jl11);
jp1.add(jp12);
jp1.add(jl13);
jl11.setBounds(17, 17, 108, 113);
jp12.setBounds(40, 170, 70, 40);
jl13.setBounds(0, 240, 158, 40);
jp1.setBackground(new Color(255,255,255));
jtp1.addTab("对手信息", null, jp1, "对手信息");
jp22.add(headicon);
jp22.add(jl222);
jp2.setLayout(null);
jp2.add(jl21); // 左边模块
jp2.add(jp22);
jp2.add(jl23);
jl21.setBounds(17, 17, 108, 113);
jp22.setBounds(40, 170, 70, 40);
jl23.setBounds(0, 240, 158, 40);
jp2.setBackground(new Color(255,255,255));
jtp2.addTab("玩家信息", new ImageIcon("./res/img/star.gif"), jp2, "玩家信息");
left_leftSplitPane.setDividerLocation(310);
left_leftSplitPane.setDividerSize(5);
left_leftSplitPane.setTopComponent(jtp1); //左边的面板分配方法
left_leftSplitPane.setBottomComponent(jtp2);
leftSplitPane.setDividerLocation(150);
leftSplitPane.setDividerSize(5);
leftSplitPane.setLeftComponent(left_leftSplitPane); /////////////////////////////////////////////
String players[] = {name2, name.getText()}; /////////////////////////////////////////////
JList jl3 = new JList(players);
JScrollPane jsp3=new JScrollPane(jl3);
jtp3.addTab("用户列表", null, jsp3, "用户列表");
JScrollPane jsp41 = new JScrollPane(talk);
jp42.setLayout(new FlowLayout());
Text = new JTextField(7);
Text.setActionCommand("发送");
Text.addActionListener(a);
jb6.setActionCommand("发送");
jb6.addActionListener(a); // 右边模块
jp42.add(Text);
jp42.add(jb6);
jp4.setLayout(new BorderLayout());
jp4.add(jsp41, "Center");
jp4.add(jp42, "South");
jtp4.addTab("聊天", null, jp4, "聊天");
rightSplitPane.setTopComponent(jtp3);
rightSplitPane.setBottomComponent(jtp4); //右边面板分配方法
rightSplitPane.setDividerLocation(300);
rightSplitPane.setDividerSize(5); //////////////////////////////////////////////
jp51.setLayout(null); /////////////////////////////////////////////
jb1.setActionCommand("退出");
jp51.add(jl511);
jp51.add(jb1);
jl511.setBounds(5, 1, 150, 30);
jb1.setBounds(390, 7, 60, 30);
JPanel jp522 = new JPanel();
jp522.setLayout(new FlowLayout()); //流式布局
jb2.setActionCommand("开始");
jb3.setActionCommand("求和");
jb4.setActionCommand("悔棋");
jb5.setActionCommand("认输");
jp522.add(jb2);
jp522.add(jb3);
jp522.add(jb4);
jp522.add(jb5);
jb1.addActionListener(a);
jb2.addActionListener(a); // 中间模块,设置监听器
jb3.addActionListener(a);
jb4.addActionListener(a);
jb5.addActionListener(a);
JPanel jp52 = new JPanel();
jp52.setLayout(new BorderLayout());
JPanel jp521 = new JPanel();
jp521.setPreferredSize(new Dimension(470, 550));
jp521.setLayout(new BorderLayout());
jp521.add(QiPan);
jp52.add(jp521, "Center");
jp52.add(jp522, "South");
JPanel jp5 = new JPanel();
jp5.setLayout(new BorderLayout());
jp5.add(jp51, "Center");
jp5.add(jp52, "South");
leftSplitPane.setRightComponent(jp5); ////////////////////////////////////////////
mainSplitPane.setDividerSize(5);
mainSplitPane.setRightComponent(rightSplitPane);
mainSplitPane.setLeftComponent(leftSplitPane);
mainSplitPane.setDividerLocation(610);
return mainSplitPane;
}
class J_Action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JButton b =(JButton)e.getSource();
if(b == jb1)
{
jf3.setVisible(false); //退出按钮
}
else if (b == jb2) //开始按钮
{
QiPan.HaveStart = true;
try
{
JOptionPane.showMessageDialog(null,"游戏开始", "开始游戏", JOptionPane.INFORMATION_MESSAGE);
Second.dos.writeUTF("Start");
Second.dos.writeUTF(name2);
}
catch(Exception ee)
{
ee.printStackTrace();
}
QiPan.repaint();
}
else if(b == jb6) //聊天发送
{
String s1 = Text.getText();
try{
Second.dos.writeUTF("Chat");
Second.dos.writeUTF(name2);
Second.dos.writeUTF(s1);
}catch(Exception ee)
{
ee.printStackTrace();
}
talk.append(s1 + "\n");
Text.setText(null);
}
}
}
}
分享到:
相关推荐
基于JAVA毕业设计-JAVA游戏设计打飞机程序(源代码+论文).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机...
【标题】:“基于JAVA毕业设计-JAVA毕业设计+扫雷(程序).rar”这个压缩包文件是一个JAVA语言实现的毕业设计项目,其中包含了扫雷游戏的完整代码和相关文档。扫雷是一款经典的小游戏,旨在锻炼玩家的空间思维和逻辑...
基于JAVA毕业设计-JAVA打飞机游戏毕业设计(源代码+论文).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机...
基于JAVA毕业设计-JAVA打飞机游戏设计与实现(论文+源代码).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机...
基于JAVA毕业设计-五子棋游戏的设计(源代码+论文).rar 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间...
基于JAVA毕业设计-JAVA002打飞机游戏设计(程序+论文).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在...
java课程设计作业——基于java+swing构建的数独小游戏(源码+资源文件) 编程语言:java 界面绘制:swing IDE:MyEclipse,IDEA java课程设计作业——基于java+swing构建的数独小游戏(源码+资源文件) 编程语言...
"逼真图形版"可能意味着该程序使用了Java的图形用户界面(GUI)库,如JavaFX或Swing,来创建一个具有视觉吸引力和交互性的游戏界面。 【描述解析】 描述中"基于Java的源码-24点游戏逼真图形版代码.zip"与标题相同,...
基于Java的游戏设计-贪吃蛇论文.doc 基于Java的游戏设计-贪吃蛇论文.doc是一篇关于使用Java技术和Eclipse开发环境开发贪吃蛇游戏的论文。该论文详细介绍了游戏的整个生命周期的各个开发阶段,包括游戏的可行性分析...
总之,“拿火柴游戏”的Java课程设计涵盖了Java语言基础、面向对象编程、异常处理、集合使用、状态管理、事件驱动编程以及GUI开发等多个重要知识点。通过这个项目,学生不仅可以加深对Java语言的理解,还能提高实际...
该压缩包“基于Java的源码-3D魔方游戏源码及中文注释包.zip”包含了一款使用Java编程语言开发的3D魔方游戏的完整源代码,并且源码中带有中文注释,这对于学习Java编程,尤其是对3D图形编程和游戏开发感兴趣的开发者...
描述中的"基于Java的源码-毕业设计一款J2me飞行射击游戏.zip"与标题一致,进一步强调这是一份用Java编程语言编写的毕业设计项目,具体是实现了一款J2ME平台上的飞行射击游戏。这通常意味着开发者可能已经实现了游戏...
【标题】:基于Java语言设计的网络五子棋游戏 在网络技术日新月异的今天,利用编程语言来开发网络游戏已经成为一种常见的实践。本项目是一个由Java新手开发的网络五子棋游戏,虽然在界面美观度上可能有所欠缺,但其...
游戏的核心是基于Java的图形用户界面(GUI)技术,这使得游戏能够具备丰富的视觉效果和交互性。在设计过程中,开发者需要考虑游戏的可玩性、操作性以及用户友好性。 首先,打砖块游戏的基本要求是系统操作简便,这...
"基于Java的源码-lobby(经典board游戏 Domination)" 提供的是开发一个名为“lobby”的游戏的源代码,这款游戏是基于经典的board游戏“Domination”。 【board游戏】 Board游戏是指在二维平面上进行的策略游戏,...
【描述】"基于Java的源码-J2me月光战机游戏源码.zip"的描述简洁明了,表明这是一个以Java编程语言实现的游戏源代码,且该游戏是J2ME平台上的。源代码是程序设计的基础,开发者可以通过查看和分析这些代码学习到游戏...
【标题】"Java课程设计---经典雷电小游戏-飞机大战源码带GUI界面.zip" 提供的是一款基于Java编程语言实现的雷电小游戏,也就是飞机大战。这种游戏通常包括玩家控制的飞机与敌机之间的战斗,具有一定的策略性和娱乐性...
在本项目中,“Java程序设计-五子棋”是一个基于Java编程语言开发的桌面应用程序,旨在实现一个五子棋游戏。五子棋是一种双人对弈的策略棋类游戏,玩家轮流在棋盘上下黑白两色的棋子,目标是先连成五子直线(横、竖...
基于J2ME的Java游戏--扑克豪斯的开发毕业设计论文 本论文设计和实现了一款..."基于J2ME技术的Java游戏--扑克豪斯的开发毕业设计论文",涵盖了J2ME技术、手机游戏开发、跨平台移植等方面的知识点,具有重要的参考价值。
基于Java的五子棋游戏设计与实现 本文档详细介绍了一款基于Java的五子棋游戏的设计与实现过程。该游戏不仅具有基本的游戏功能,还提供了诸如悔棋、计时等高级功能,以满足不同玩家的需求。同时,游戏界面美观,操作...