基于java平台设计--游戏界面_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 基于java平台设计--游戏界面

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

 2012/2/22 9:20:05  yongjian1092  程序员俱乐部  我要评论(0)
  • 摘要:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;publicclassThird{publicThirdth;publicJFramejf3;publicDrawQiPanQiPan;publicstaticStringname2;publicstaticStringheadicon2;publicstaticJTextAreatalk=newJTextArea()
  • 标签:Java 游戏 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);
			  }
		  }
	}
}
?
发表评论
用户名: 匿名