⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientconnection.java

📁 用java开发的一个实施策略游戏源码 值得学习一下
💻 JAVA
字号:
/*
	Netwar
	Copyright (C) 2002  Daniel Grund, Kyle Kakligian, Jason Komutrattananon, & Brian Hibler.

	This file is part of Netwar.

	Netwar is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your option) any later version.

	Netwar is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with Netwar; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package netwar.gui;
import netwar.Netwar;
import netwar.network.NetworkClient;
import java.awt.Color;
import netwar.game.UnitSet;

/** Composite GUI class opened when the program is first start.
 * Display when a joining player is specifying a host to connect to.
 * Allows the player to change his/her name.
 * Allows the player to specify an IP address.
 * Has a button to attempt the connection.
 * @author Group N2 - Project Netwar
 * @author Brain Hibler
 * @author modified by Daniel Grund
 */
public class ClientConnection extends javax.swing.JPanel {
	/** Creates new form pan */
	public ClientConnection() {
		initComponents();
	}

	/** This method is called from within the constructor to
	 * initialize the form.
	 * WARNING: Do NOT modify this code. The content of this method is
	 * always regenerated by the Form Editor.
	 */
        private void initComponents() {
                java.awt.GridBagConstraints gridBagConstraints;

                jLabel1 = new javax.swing.JLabel();
                jLabel3 = new javax.swing.JLabel();
                jTextField2 = new javax.swing.JTextField();
                jLabel2 = new javax.swing.JLabel();
                jTextField1 = new javax.swing.JTextField();
                jButton1 = new javax.swing.JButton();
                jComboBox1 = new javax.swing.JComboBox();
                jLabel4 = new javax.swing.JLabel();

                setLayout(new java.awt.GridBagLayout());

                jLabel1.setText("Client Connection Setup");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 0;
                add(jLabel1, gridBagConstraints);

                jLabel3.setText("Your Screen Name:");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 2;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jLabel3, gridBagConstraints);

                jTextField2.setText("<Enter Name>");
                jTextField2.setColumns(20);
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 2;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jTextField2, gridBagConstraints);

                jLabel4.setText("Your Unit Set:");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 4;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jLabel4, gridBagConstraints);

                populateList();
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 4;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jComboBox1, gridBagConstraints);

                jLabel2.setText("IP address of the Host:");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 6;
                add(jLabel2, gridBagConstraints);

                jTextField1.setText("<Enter IP>");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 6;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jTextField1, gridBagConstraints);

                jButton1.setText("Connect");
                jButton1.addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
                                jButton1ActionPerformed(evt);
                        }
                });

                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 10;
                add(jButton1, gridBagConstraints);

        }
        private void populateList() {
            String list[] = netwar.utils.Dir.directoryList("game/UnitSets");
            if(list != null)
                for(int t = 0; t < list.length; t++)
                    if(list[t].endsWith(".class"))
                        jComboBox1.addItem(list[t].substring(0,list[t].indexOf(".class")));
        }
	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
		// Connect to the server and await the start game signal
		try{
			Netwar.nc = new NetworkClient(jTextField1.getText());
                        UnitSet us;
                    try {
                        Netwar.netwar.pset.unitSet = (UnitSet)(Class.forName("netwar.game.UnitSets." + jComboBox1.getSelectedItem()).newInstance());
                    } catch (Exception e) {};
                    if(Netwar.netwar.pset.unitSet == null)
                        System.out.println("unit set load error.");
                    
			Netwar.netwar.pset.teamName = jTextField2.getText();
			switch(Netwar.nc.playerNumber) {
				case 2:
					Netwar.netwar.pset.teamColor = Color.blue;
					break;
				case 3:
					Netwar.netwar.pset.teamColor = Color.green;
					break;
				case 4:
					Netwar.netwar.pset.teamColor = Color.yellow;
					break;
				case 5:
					Netwar.netwar.pset.teamColor = Color.magenta;
					break;
				case 6:
					Netwar.netwar.pset.teamColor = Color.cyan;
					break;
				case 7:
					Netwar.netwar.pset.teamColor = Color.orange;
					break;
				case 8:
					Netwar.netwar.pset.teamColor = Color.pink;
					break;
				case 9:
					Netwar.netwar.pset.teamColor = Color.black;
					break;
				case 10:
					Netwar.netwar.pset.teamColor = Color.white;
					break;
				case 11:
					Netwar.netwar.pset.teamColor = Color.lightGray;
					break;
				case 12:
					Netwar.netwar.pset.teamColor = Color.darkGray;
					break;
			}
			Netwar.nc.clientBroadcastSettings(Netwar.nc.playerNumber, Netwar.netwar.pset, null);
		}catch(Exception al){
			System.out.println(al);
		}
		Netwar.netwar.switchToViewer(new ClientConnected());
	}


        // Variables declaration
        private javax.swing.JTextField jTextField2;
        private javax.swing.JTextField jTextField1;
        private javax.swing.JButton jButton1;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JComboBox jComboBox1;
        // End of variables declaration

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -