`
yongjian1092
  • 浏览: 40223 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

基于java平台设计--游戏界面

阅读更多
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毕业设计+扫雷(程序).rar

    【标题】:“基于JAVA毕业设计-JAVA毕业设计+扫雷(程序).rar”这个压缩包文件是一个JAVA语言实现的毕业设计项目,其中包含了扫雷游戏的完整代码和相关文档。扫雷是一款经典的小游戏,旨在锻炼玩家的空间思维和逻辑...

    基于JAVA毕业设计-JAVA打飞机游戏毕业设计(源代码+论文).rar

    基于JAVA毕业设计-JAVA打飞机游戏毕业设计(源代码+论文).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机...

    基于JAVA毕业设计-JAVA打飞机游戏设计与实现(论文+源代码).rar

    基于JAVA毕业设计-JAVA打飞机游戏设计与实现(论文+源代码).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机...

    基于JAVA毕业设计-五子棋游戏的设计(源代码+论文).rar

    基于JAVA毕业设计-五子棋游戏的设计(源代码+论文).rar 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间...

    基于JAVA毕业设计-JAVA002打飞机游戏设计(程序+论文).rar

    基于JAVA毕业设计-JAVA002打飞机游戏设计(程序+论文).rar 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在...

    java课程设计作业-基于java+swing构建的数独小游戏(源码+资源文件)

    java课程设计作业——基于java+swing构建的数独小游戏(源码+资源文件) 编程语言:java 界面绘制:swing IDE:MyEclipse,IDEA java课程设计作业——基于java+swing构建的数独小游戏(源码+资源文件) 编程语言...

    基于Java的源码-24点游戏逼真图形版代码.zip

    "逼真图形版"可能意味着该程序使用了Java的图形用户界面(GUI)库,如JavaFX或Swing,来创建一个具有视觉吸引力和交互性的游戏界面。 【描述解析】 描述中"基于Java的源码-24点游戏逼真图形版代码.zip"与标题相同,...

    基于Java的游戏设计-贪吃蛇论文.doc

    基于Java的游戏设计-贪吃蛇论文.doc 基于Java的游戏设计-贪吃蛇论文.doc是一篇关于使用Java技术和Eclipse开发环境开发贪吃蛇游戏的论文。该论文详细介绍了游戏的整个生命周期的各个开发阶段,包括游戏的可行性分析...

    java课程设计-拿火柴游戏

    总之,“拿火柴游戏”的Java课程设计涵盖了Java语言基础、面向对象编程、异常处理、集合使用、状态管理、事件驱动编程以及GUI开发等多个重要知识点。通过这个项目,学生不仅可以加深对Java语言的理解,还能提高实际...

    基于Java的源码-3D魔方游戏源码及中文注释包.zip

    该压缩包“基于Java的源码-3D魔方游戏源码及中文注释包.zip”包含了一款使用Java编程语言开发的3D魔方游戏的完整源代码,并且源码中带有中文注释,这对于学习Java编程,尤其是对3D图形编程和游戏开发感兴趣的开发者...

    基于Java的源码-毕业设计一款J2me飞行射击游戏.zip

    描述中的"基于Java的源码-毕业设计一款J2me飞行射击游戏.zip"与标题一致,进一步强调这是一份用Java编程语言编写的毕业设计项目,具体是实现了一款J2ME平台上的飞行射击游戏。这通常意味着开发者可能已经实现了游戏...

    基于java语言设计的网络五子棋游戏

    【标题】:基于Java语言设计的网络五子棋游戏 在网络技术日新月异的今天,利用编程语言来开发网络游戏已经成为一种常见的实践。本项目是一个由Java新手开发的网络五子棋游戏,虽然在界面美观度上可能有所欠缺,但其...

    JAVA课程设计-打砖块游戏.doc

    游戏的核心是基于Java的图形用户界面(GUI)技术,这使得游戏能够具备丰富的视觉效果和交互性。在设计过程中,开发者需要考虑游戏的可玩性、操作性以及用户友好性。 首先,打砖块游戏的基本要求是系统操作简便,这...

    基于Java的源码-lobby(经典board游戏 Domination).zip

    "基于Java的源码-lobby(经典board游戏 Domination)" 提供的是开发一个名为“lobby”的游戏的源代码,这款游戏是基于经典的board游戏“Domination”。 【board游戏】 Board游戏是指在二维平面上进行的策略游戏,...

    基于Java的源码-J2me月光战机游戏源码.zip

    【描述】"基于Java的源码-J2me月光战机游戏源码.zip"的描述简洁明了,表明这是一个以Java编程语言实现的游戏源代码,且该游戏是J2ME平台上的。源代码是程序设计的基础,开发者可以通过查看和分析这些代码学习到游戏...

    Java课程设计---经典雷电小游戏-飞机大战源码带GUI界面.zip

    【标题】"Java课程设计---经典雷电小游戏-飞机大战源码带GUI界面.zip" 提供的是一款基于Java编程语言实现的雷电小游戏,也就是飞机大战。这种游戏通常包括玩家控制的飞机与敌机之间的战斗,具有一定的策略性和娱乐性...

    java程序设计-五子棋

    在本项目中,“Java程序设计-五子棋”是一个基于Java编程语言开发的桌面应用程序,旨在实现一个五子棋游戏。五子棋是一种双人对弈的策略棋类游戏,玩家轮流在棋盘上下黑白两色的棋子,目标是先连成五子直线(横、竖...

    2014年基于J2ME的Java游戏--扑克豪斯的开发毕业设计论文-免费.doc

    基于J2ME的Java游戏--扑克豪斯的开发毕业设计论文 本论文设计和实现了一款..."基于J2ME技术的Java游戏--扑克豪斯的开发毕业设计论文",涵盖了J2ME技术、手机游戏开发、跨平台移植等方面的知识点,具有重要的参考价值。

    Java毕业设计-基于Java的五子棋游戏的设计(源代码+论文).rar

    基于Java的五子棋游戏设计与实现 本文档详细介绍了一款基于Java的五子棋游戏的设计与实现过程。该游戏不仅具有基本的游戏功能,还提供了诸如悔棋、计时等高级功能,以满足不同玩家的需求。同时,游戏界面美观,操作...

Global site tag (gtag.js) - Google Analytics