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

📄 clientconnected.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.settings.GameSettings;
import netwar.Netwar;
import java.awt.Color;
import netwar.game.UnitSet;

/** Composite GUI class opened when the program is first start.
 * Display when a joining player is waiting for the host to start the game.
 * Allows the player to change his/her name.
 * Keeps the player updated on the list of players that have joined the game.
 * @author Group N2 - Project Netwar
 * @author Brain Hibler
 * @author modified by Daniel Grund
 */
public class ClientConnected extends javax.swing.JPanel implements Chatable {
	/** Creates new form ClientConnected */
	public ClientConnected() {
		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();
                jTextField1 = new javax.swing.JTextField();
                jLabel2 = new javax.swing.JLabel();
                jLabel3 = new javax.swing.JLabel();
                jLabel5 = new javax.swing.JLabel();
                jLabel6 = new javax.swing.JLabel();
                jLabel7 = new javax.swing.JLabel();
                jLabel8 = new javax.swing.JLabel();
                jLabel9 = new javax.swing.JLabel();
                jTextArea1 = new javax.swing.JTextArea();
                jTextArea2 = new javax.swing.JTextArea();
                unitSets = new javax.swing.JComboBox();
                chatViewer1 = new netwar.gui.ChatViewer();

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

                setMinimumSize(new java.awt.Dimension(600, 450));
                setPreferredSize(new java.awt.Dimension(699, 600));
        
                jLabel8.setText("Client Connection Setup");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 2;
                gridBagConstraints.gridy = 0;
                add(jLabel8, gridBagConstraints);

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

                jTextField1.setText(GameSettings.currentSettings.players[Netwar.nc.playerNumber-1].teamName);
                jTextField1.setColumns(20);
                jTextField1.addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
                                updateInfo(evt);
                        }
                });
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 2;
                gridBagConstraints.gridy = 2;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jTextField1, gridBagConstraints);

                jLabel9.setText("    ");
                jLabel9.setMaximumSize(new java.awt.Dimension(50, 17));
                jLabel9.setMinimumSize(new java.awt.Dimension(50, 17));
                jLabel9.setPreferredSize(new java.awt.Dimension(50, 17));
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 1;
                add(jLabel9, gridBagConstraints);
                
                jLabel5.setText("    ");
                jLabel5.setMaximumSize(new java.awt.Dimension(50, 17));
                jLabel5.setMinimumSize(new java.awt.Dimension(50, 17));
                jLabel5.setPreferredSize(new java.awt.Dimension(50, 17));
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = 4;
                add(jLabel5, gridBagConstraints);
                
                jLabel3.setText("Your Unit Set:");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 3;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jLabel3, gridBagConstraints);
                unitSets.setFont(new java.awt.Font("Dialog", 1, 10));
                populateList();
                unitSets.addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
                                updateInfo(evt);
                        }
                });
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 2;
                gridBagConstraints.gridy = 3;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(unitSets, gridBagConstraints);
                
                jLabel6.setText("Map:");
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 5;
                gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
                add(jLabel6, gridBagConstraints);
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 2;
                gridBagConstraints.gridy = 5;
                add(jLabel7, gridBagConstraints);

                jLabel2.setText("Users Connected:");
                jLabel2.setForeground(new java.awt.Color(0, 0, 160));
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 7;
                gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
                add(jLabel2, gridBagConstraints);

                jTextArea1.setFont(new java.awt.Font("Dialog", 1, 10));
                jTextArea1.setEditable(false);
                jTextArea1.setForeground(new java.awt.Color(0, 0, 160));
                jTextArea1.setColumns(20);
                jTextArea1.setRows(12);
                jTextArea1.setBackground(new java.awt.Color(204, 204, 204));
                jTextArea1.setMaximumSize(new java.awt.Dimension(220, 2147483647));
                jTextArea1.setPreferredSize(new java.awt.Dimension(141, 192));
                jTextArea1.setMinimumSize(new java.awt.Dimension(141, 192));
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 2;
                gridBagConstraints.gridy = 7;
                gridBagConstraints.gridheight = 9;
                gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
                add(jTextArea1, gridBagConstraints);
                
                jTextArea2.setFont(new java.awt.Font("Dialog", 1, 10));
                jTextArea2.setEditable(false);
                jTextArea2.setForeground(new java.awt.Color(0, 0, 160));
                jTextArea2.setRows(12);
                jTextArea2.setColumns(20);
                jTextArea2.setBackground(new java.awt.Color(204, 204, 204));
                jTextArea2.setMaximumSize(new java.awt.Dimension(220, 2147483647));
                jTextArea2.setPreferredSize(new java.awt.Dimension(220,192));
                jTextArea2.setMinimumSize(new java.awt.Dimension(220, 192));
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 3;
                gridBagConstraints.gridy = 7;
                gridBagConstraints.gridheight = 9;
                gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
                add(jTextArea2, gridBagConstraints);

                chatViewer1.setMinimumSize(new java.awt.Dimension(300, 160));
                chatViewer1.setPreferredSize(new java.awt.Dimension(320, 240));
                gridBagConstraints = new java.awt.GridBagConstraints();
                gridBagConstraints.gridx = 0;
                gridBagConstraints.gridy = 6;
                gridBagConstraints.gridwidth = 4;
                gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
                gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
                add(chatViewer1, gridBagConstraints);
        }
        private void populateList() {
            String list[] = netwar.utils.Dir.directoryList("game/UnitSets");
            String curr = null;
            int _inlist = 0;
            if(Netwar.netwar.pset.unitSet != null) {
                curr = Netwar.netwar.pset.unitSet.getClass().getName();
                curr = curr.substring(curr.lastIndexOf('.')+1);
            }
                
            if(list != null)
                for(int t = 0; t < list.length; t++)
                    if(list[t].endsWith(".class")) {
                        String add = list[t].substring(0,list[t].indexOf(".class"));
                        unitSets.addItem(add);
                        if(curr.equals(add))
                            unitSets.setSelectedIndex(_inlist);                        
                        _inlist++;
                    }
        }
	private void updateInfo(java.awt.event.ActionEvent evt) {
		Netwar.netwar.pset.teamName = jTextField1.getText();
                try{Netwar.netwar.pset.unitSet = (UnitSet)(Class.forName("netwar.game.UnitSets." + unitSets.getSelectedItem()).newInstance());
                } catch (Exception e) {};
                if(Netwar.netwar.pset.unitSet == null)
                   System.out.println("unit set load error.");
                    
		Netwar.nc.clientBroadcastSettings(Netwar.nc.playerNumber, Netwar.netwar.pset, null);
                
                repaint();
	}

	/** Called by the NetworkClient if the GameSettings was changed.
	 * Corrects the data on the display, then calls super.repaint().
	 */
	public void repaint() {
		if(jTextArea1 != null) {
			String pList = "";
			for(int i = 0; i < GameSettings.currentSettings.players.length; i++)
				pList += GameSettings.currentSettings.players[i].teamName + "\n";
			jTextArea1.setText(pList);
		}
                if(jTextArea2 != null) {
			String pList = "";
			for(int i = 0; i < GameSettings.currentSettings.players.length; i++) {
                            String us = "";
				if(GameSettings.currentSettings.players[i].unitSet != null) {
                                    us = GameSettings.currentSettings.players[i].unitSet.getClass().getName();
                                    us = us.substring(us.lastIndexOf('.')+1);
                                }
				pList += us + "\n";
                        }
			jTextArea2.setText(pList);
		}
                if(jLabel7 != null)
                    jLabel7.setText(GameSettings.currentSettings.global.map);
                
		super.repaint();
	}

        public void displayChat(String chatMessage) {
            chatViewer1.displayChat(chatMessage);
        }        

        // Variables declaration - do not modify
        public netwar.gui.ChatViewer chatViewer1;
        private javax.swing.JTextField jTextField1;
        private javax.swing.JLabel jLabel9;
        private javax.swing.JLabel jLabel8;
        private javax.swing.JLabel jLabel7;
        private javax.swing.JLabel jLabel6;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JTextArea jTextArea1;
        private javax.swing.JTextArea jTextArea2;
        private javax.swing.JComboBox unitSets;
        // End of variables declaration

}

⌨️ 快捷键说明

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