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

📄 increment1frame.java

📁 java 开源游戏源码 RISK 联机对战 战棋类
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// Yura Mamyrin, Group D

package risk.ui.Increment1GUI;

import risk.engine.*;
import risk.engine.guishared.AboutDialog;

import javax.swing.JFrame;
import java.awt.event.WindowEvent;
import java.awt.Dimension;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JFileChooser;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

import javax.swing.UIManager;
import java.awt.Dimension;
import java.awt.Toolkit;

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JOptionPane;

import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.PrintWriter;

import java.awt.Color;
import java.awt.GridBagConstraints;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JRootPane;

import java.awt.Image;
import java.util.Vector;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;

import java.io.File;
import java.awt.image.BufferedImage;

/**
 * <p> Increment1 GUI </p>
 * @author Yura Mamyrin
 */

public class Increment1Frame extends JFrame {

    private final static String version = "1.1.1.1";
    private final static String product = "Increment1 GUI for RISK";

    private BorderLayout layout;

    private JTextArea Console;
    private JTextArea Testing;
    private JTextField Command;
    private JButton Submit;

    private JLabel Pix;
    private JLabel statusBar;
    private JScrollPane Con;
    private JScrollPane Log;

    private JLabel logLabel;

    private Risk risk;
    private Vector history;
    private int pointer;
    private String temptext;

    /** Creates new form JFrame */

    /**
     * Creates a new RiskGUI
     * @param r The Risk object for this GUI
     */
    public Increment1Frame(Risk r) {

	risk = r;

	risk.addRiskListener( new Increment1RiskAdapter() );

	history = new Vector();
	pointer=-1;

	/* * UIManager used to be here * */

	// layout = new BorderLayout();

	Console = new JTextArea();
	Testing = new JTextArea();
	Command = new JTextField();
	Submit = new JButton();

	Pix = new JLabel(new javax.swing.ImageIcon( this.getClass().getResource("map.png") ));
	statusBar = new JLabel("Loading...");
	Con = new JScrollPane(Console);
	Log = new JScrollPane(Testing);

	logLabel = new JLabel("Test Log");

        initGUI();

        setIconImage(Toolkit.getDefaultToolkit().getImage( AboutDialog.class.getResource("icon.gif") ));

	// setSize(910,675); // (860, 670) // 580
	setResizable(false);

        Testing.append("creating GUI...\n");

        //Center the frame on screen
        //Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        //Dimension frameSize = getSize();
        //frameSize.height = ((frameSize.height > screenSize.height) ? screenSize.height : frameSize.height);
        //frameSize.width = ((frameSize.width > screenSize.width) ? screenSize.width : frameSize.width);
        //setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);

        pack();
        //setVisible(true);

        Testing.append("Program loaded\n");
	statusBar.setText("Ready");

    }

    /** This method is called from within the constructor to initialize the form. */

    /**
     * Initialises the GUI
     */
    private void initGUI() {

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

        GridBagConstraints c = new GridBagConstraints();

        // set title
        setTitle(product);

        // set the border of the window
        //setDefaultLookAndFeelDecorated(true);
        //setUndecorated(true);
        //getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
        //Testing.setBounds(new java.awt.Rectangle(1,1,53,16));
        // getContentPane().setLayout(layout);
        // JPanel content = new JPanel();
        // content.setPreferredSize(new Dimension(300, 200));
        // content.setLayout(new java.awt.GridBagLayout());

        c.insets = new java.awt.Insets(3, 3, 3, 3);
        c.fill = GridBagConstraints.BOTH;

        Console.setText("");
        // Console.setBackground(Color.white); // not needed with swing
        Console.setEditable(false);

        // Testing.setColumns(20); // the one (causes odd problems)
        Testing.setEditable(false);

	Log.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
	Log.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
	Log.setPreferredSize(new java.awt.Dimension(200,550));
	Log.setMinimumSize(new java.awt.Dimension(200,550));

	Con.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
	Con.setPreferredSize(new java.awt.Dimension(677,150));
	Con.setMinimumSize(new java.awt.Dimension(677,150));

        //	c.ipadx = 600; // width
        //	c.ipadx = 0; // width
	Command.setPreferredSize(new java.awt.Dimension(600,20));
	Command.setMinimumSize(new java.awt.Dimension(600,20));
	Command.setMaximumSize(new java.awt.Dimension(600,20));
        // Command.setColumns(75); // dont use because it goes odd in linux


        Submit.setText(" Submit ");

        c.gridx = 0; // col
        c.gridy = 0; // row
        c.gridwidth = 2; // width
        c.gridheight = 2; // height
        getContentPane().add(Pix, c);

        c.gridx = 1; // col
        c.gridy = 3; // row
        c.gridwidth = 1; // width
        c.gridheight = 1; // height
        getContentPane().add(Submit, c);

        c.gridx = 2; // col
        c.gridy = 0; // row
        c.gridwidth = 1; // width
        c.gridheight = 1; // height
        getContentPane().add(logLabel, c);

        // c.ipadx = 700; // width
        // c.ipady = 140; // height

        c.gridx = 0; // col
        c.gridy = 2; // row
        c.gridwidth = 2; // width
        c.gridheight = 1; // height
        getContentPane().add(Con, c);

        // c.ipadx = 600; // width
        // c.ipady = 0; // height

        c.gridx = 0; // col
        c.gridy = 3; // row
        c.gridwidth = 1; // width
        c.gridheight = 1; // height
        getContentPane().add(Command, c);

        // c.ipadx = 60; // width
        // c.ipady = 300; // 570 height

        c.gridx = 2; // col
        c.gridy = 1; // row
        c.gridwidth = 1; // width
        c.gridheight = 3; // height
        getContentPane().add(Log, c);

        // c.ipadx = 0; // width
        // c.ipady = 0; // height

        //c.gridx = 0; // col
        //c.gridy = 4; // row
        //c.gridwidth = 2; // width
        //c.gridheight = 1; // height
        // add status bar
        //getContentPane().add(gameStatus, c);

        c.gridx = 0; // col
        c.gridy = 4; // row
        c.gridwidth = 3; // width
        c.gridheight = 1; // height
        // add status bar
        getContentPane().add(statusBar, c);

        ActionListener readCommand = new ActionListener() {
	    public void actionPerformed(ActionEvent a) {

		//Submit.setEnabled(false);
		//Command.setEnabled(false);
		//statusBar.setText("Working...");

		String input = Command.getText();
		Command.setText("");

		history.add(input);
		pointer = history.size()-1;
		go(input);

		//Submit.setEnabled(true);
		//Command.setEnabled(true);
		Command.requestFocus();
		//statusBar.setText("Done... Ready");

	    }
        };

        Submit.addActionListener( readCommand );
	Command.addActionListener( readCommand );


	class CommandKeyAdapter extends KeyAdapter {
	   Increment1Frame adaptee;
 

	   CommandKeyAdapter(Increment1Frame adaptee) {
	     this.adaptee = adaptee;
	   }
	   public void keyPressed(KeyEvent key) {


		if (key.getKeyCode() == 38) {
		    Testing.append("up key (history)\n");

		    if (pointer < 0) {
			Toolkit.getDefaultToolkit().beep();
		    }
		    else {
			if (pointer == history.size()-1) { temptext=Command.getText(); }
			Command.setText( (String)history.elementAt(pointer) );
			pointer--;
		    }
		}
		else if(key.getKeyCode() == 40) {
		    Testing.append("down key (history)\n");


		    if (pointer > history.size()-2 ) {
			Toolkit.getDefaultToolkit().beep();
		    }
		    else if (pointer == history.size()-2 ) {
			Command.setText(temptext);
			pointer++;
		    }
		    else {
			pointer=pointer+2;
			Command.setText( (String)history.elementAt(pointer) );
			pointer--;
		    }

		}
		else {
		    pointer = history.size()-1;
		}

	   }
	}

	Command.addKeyListener( new CommandKeyAdapter(this) );




        // add menu bar
        JMenuBar menuBar = new JMenuBar();
        JMenu menuFile = new JMenu("File");
        menuFile.setMnemonic('F');

        // create About menu item
        JMenu menuHelp = new JMenu("Help");
        menuHelp.setMnemonic('H');

        JMenuItem Commands = new JMenuItem("Commands");
        Commands.setMnemonic('C');
        Commands.addActionListener(
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
		    Commands();
                }
            });
        menuHelp.add(Commands);

        JMenuItem helpMan = new JMenuItem("Manual");
        helpMan.setMnemonic('M');
        helpMan.addActionListener(

⌨️ 快捷键说明

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