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

📄 bingo.java

📁 主要是一个Java电子书
💻 JAVA
字号:
package bingo.game;

import java.net.*;
import java.rmi.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import bingo.shared.*;

public class BINGO {
    protected static String windowName = "服务器";
    protected static String controlPaneTitle = "游戏参数";
    protected static String statusPaneTitle = "游戏状态";
    protected static boolean DEBUG = false;

    public static void main(String[] args) {
        String hostname = null;
	RingMaster ringMaster = null;

	if (DEBUG) {
	    System.out.println("In BINGO main method.");
	}
	System.setSecurityManager(new RMISecurityManager());

	if (DEBUG) {
	    System.out.println("Just set security manager.");
	    System.out.println("About to try connecting.");
	}
	try {
	    ringMaster = new RingMaster();

            RegistrarImpl registrar = new RegistrarImpl(ringMaster);
	    hostname = InetAddress.getLocalHost().getHostName();
	    Naming.rebind("//" + hostname + "/Registrar", registrar);
	} catch (java.rmi.ConnectException e) {
	    ErrorMessages.fatalError("You must run rmiregistry before "
				     + "starting the BINGO server.",
				     e);
	} catch (java.net.UnknownHostException e) {
	    ErrorMessages.fatalError("Can't get current host.", e);
	} catch (java.rmi.RemoteException e) {
	    ErrorMessages.fatalError("Can't create the registrar.", e);
	} catch (java.net.MalformedURLException e) {
	    ErrorMessages.fatalError("Can't bind the registrar.", e);
	} catch (java.io.IOException e) {
	    ErrorMessages.fatalError("Can't open multicast socket.", e);
	} catch (Exception e) {
	    ErrorMessages.fatalError("Unknown exception on server startup", e);
	}

	if (DEBUG) {
	    System.out.println("Successfully connected.");
	}
        JFrame frame = new JFrame(windowName);
	if (DEBUG) {
	    System.out.println("Created JFrame.");
	}
	Container container = frame.getContentPane();
	if (DEBUG) {
	    System.out.println("Got content pane.");
	}

	ControlPane controlPane = new ControlPane(hostname, ringMaster);
	if (DEBUG) {
	    System.out.println("Created control pane.");
	}

	OverallStatusPane statusPane = new OverallStatusPane();
	if (DEBUG) {
	    System.out.println("Created status pane.");
	}
	statusPane.setBorder(BorderFactory.createTitledBorder(
				statusPaneTitle));

        frame.addWindowListener(new WindowAdapter() {
	        public void windowClosing(WindowEvent e) {
		    System.exit(0);
		} 
	    });
	if (DEBUG) {
	    System.out.println("About to call pack.");
	}

	container.setLayout(new BoxLayout(container, BoxLayout.Y_AXIS));
	controlPane.setAlignmentX(0.5f);
	container.add(controlPane);
	statusPane.setAlignmentX(0.5f);

	//Does the following work?  We want the table to be able
	//to take up as much space as it can.
	statusPane.setMaximumSize(new Dimension(Short.MAX_VALUE,
						Short.MAX_VALUE));
	container.add(statusPane);
        frame.pack();
	if (DEBUG) {
	    System.out.println("About to call show.");
	}
        frame.setVisible(true);
	if (DEBUG) {
	    System.out.println("At end of BINGO.main.");
	}
    }
}

⌨️ 快捷键说明

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