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

📄 gameroomcreationwindow.java

📁 是一款国外的网络游戏平台的源码*不是类似浩方那种虚拟局域网技术
💻 JAVA
字号:
/*
 * Created on Mar 13, 2006
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package org.GTADS.client;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JFrame;

import org.GTADS.helper.WebClient;
import org.GTADS.messenger.MessageAdapter;
import org.GTADS.protocol.MetaData;
import org.GTADS.usermanager.Chatroom;
import org.GTADS.usermanager.GameRoom;
import org.GTADS.usermanager.TranslateManager;
import org.GTADS.client.swing.*;

/**
 * @author sday
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class GameroomCreationWindow extends GTADSFrame implements ActionListener, KeyListener{
	public static GameroomCreationWindow instance;
	private TranslateManager locale = TranslateManager.getInstance();
	private GTADSTextField gameroomNameField;
	private GTADSComboBox gameroomNumPlayers;
	private GTADSComboBox gameroomGameType;
	private GTADSCheckBox bindIP;
	private GTADSTextField bindIPField;
	private GTADSButton getMyIPButton;
	private GTADSButton createButton;
	private GTADSButton cancelButton;
	
	public static GameroomCreationWindow getInstance(){
		if (instance == null){
			instance = new GameroomCreationWindow();
		}
		return instance;
	}
	
	public static void clearInstance() {
		if (instance != null){
			instance.hide();
			instance.dispose();
			instance = null;
		}
	}
	
	public GameroomCreationWindow(){
		this.setTitle("Create Gameroom");
		createComponents();
		this.setContentPane(getContentPanel());
		this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		
		this.addWindowListener(new WindowAdapter() {
			public void windowClosed(WindowEvent e){
				GameroomCreationWindow.clearInstance();
			}
		});
		
		pack();
	}
	
	private void createComponents(){
		bindIP = new GTADSCheckBox("Bind IP");
		bindIP.addActionListener(this);
		
		bindIPField = new GTADSTextField();
		bindIPField.setColumns(15);
		bindIPField.enable(false);
		bindIPField.addKeyListener(this);
		
		gameroomNameField = new GTADSTextField();
		gameroomNameField.setColumns(20);
		gameroomNameField.addKeyListener(this);
		
		gameroomGameType = new GTADSComboBox();
		gameroomGameType.setPrototypeDisplayValue("#############################");
		gameroomGameType.addItem(GameRoom.GTA_1); // Hardcode for now until we have more games
		gameroomGameType.addItem(GameRoom.GTA_LONDON);
		gameroomGameType.addItem(GameRoom.AGE_OF_EMPIRES_1);
		gameroomGameType.addItem(GameRoom.AGE_OF_EMPIRES_RISE_TO_ROME);
		gameroomGameType.addItem(GameRoom.AGE_OF_EMPIRES_2);
		gameroomGameType.addItem(GameRoom.AGE_OF_EMPIRES_2_CONQ);
		gameroomGameType.setEditable(false);
		
		gameroomNumPlayers = new GTADSComboBox();
		gameroomNumPlayers.setPrototypeDisplayValue("##");
		gameroomNumPlayers.addItem("2");
		gameroomNumPlayers.addItem("3");
		gameroomNumPlayers.addItem("4");
		gameroomNumPlayers.setEditable(false);
		
		createButton = new GTADSButton("Create Game");
		cancelButton = new GTADSButton("Cancel");
		getMyIPButton = new GTADSButton("Get IP");
		createButton.addActionListener(this);
		cancelButton.addActionListener(this);
		getMyIPButton.addActionListener(this);
		getMyIPButton.setEnabled(bindIP.isSelected());
	}
	
	public void keyPressed(KeyEvent e) {
		//if (e.getSource().equals(gameroomNameField)){
		if (e.getKeyChar() == KeyEvent.VK_ENTER){
			createGameroomAction();
		}
		//}
	}
	public void keyReleased(KeyEvent arg0) {
		// TODO Auto-generated method stub

	}
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub

	}
	private GTADSPanel getContentPanel(){
		GTADSPanel mainPanel = new GTADSPanel();
		GTADSPanel panel1 = new GTADSPanel();
		GTADSPanel panel2 = new GTADSPanel();
		GTADSPanel panel3 = new GTADSPanel();
		GTADSPanel panel4 = new GTADSPanel();
		GTADSPanel panel5 = new GTADSPanel();
		
		mainPanel.setLayout(new BoxLayout(mainPanel,BoxLayout.Y_AXIS));
		panel1.setLayout(new FlowLayout(FlowLayout.LEFT));
		panel2.setLayout(new FlowLayout(FlowLayout.LEFT));
		panel3.setLayout(new FlowLayout(FlowLayout.LEFT));
		panel4.setLayout(new FlowLayout(FlowLayout.LEFT));
		panel5.setLayout(new FlowLayout(FlowLayout.LEFT));
		
		panel1.add(new GTADSLabel(locale.printLocale("Game name") + ": "));
		panel1.add(gameroomNameField);
		panel2.add(new GTADSLabel("game name can be 20 characters max"));
		panel3.add(new GTADSLabel(locale.printLocale("Game Type") + ": "));
		panel3.add(gameroomGameType);
		panel3.add(Box.createHorizontalStrut(10));
		panel3.add(new GTADSLabel(locale.printLocale("Max Players") + " "));
		panel3.add(gameroomNumPlayers);
		panel4.add(bindIP);
		panel4.add(Box.createHorizontalStrut(10));
		panel4.add(bindIPField);
		panel4.add(Box.createHorizontalStrut(5));
		panel4.add(getMyIPButton);
		panel5.add(createButton);
		panel5.add(Box.createHorizontalStrut(10));
		panel5.add(cancelButton);
		
		mainPanel.add(panel1);
		mainPanel.add(panel2);
		mainPanel.add(panel3);
		mainPanel.add(panel4);
		mainPanel.add(panel5);
		
		return mainPanel;
	}
	
	public void actionPerformed(ActionEvent e) {
		if (e.getSource().equals(createButton)){
			createGameroomAction();
		}
		else if (e.getSource().equals(cancelButton)){
			GameroomCreationWindow.clearInstance();
		}
		else if (e.getSource().equals(bindIP)){
			bindIPField.enable(bindIP.isSelected());
			getMyIPButton.setEnabled(bindIP.isSelected());
			if (!bindIPField.isEnabled()){
				bindIPField.setText("");
			}
		}
		else if (e.getSource().equals(getMyIPButton)){
			bindIPField.setText(WebClient.getWhatIsMyIP(bindIPField));
		}
	}
	
	public void createGameroomAction(){
		String gameroomName = "#" + gameroomNameField.getText();
		if (!gameroomName.equals("") && gameroomName.length() <= 20 && Chatroom.isCorrectChatroomName(gameroomName))
			createGameroom();
		else {
			DialogManager.ErrorDialog(locale.printLocale("Invalid room name"));
		}
	}
	
	private void createGameroom(){
		try {
		MetaData createGameroomHeader = new MetaData(ClientLoginScreen.getInstance().getUsername(),
				MetaData.GENERIC,MetaData.CREATE_GAMEROOM);
		MessageAdapter.sendData(null,DSChatClient.ClientSocket,createGameroomHeader,
				gameroomNameField.getText() + "," + gameroomGameType.getSelectedItem()
				+ "," + this.gameroomNumPlayers.getSelectedItem() + 
				(this.bindIPField.isEnabled() ? "," + this.bindIPField.getText() : ""));
		} catch (IOException ioe){
			return;
		}
	}
}

⌨️ 快捷键说明

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