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

📄 boardselectiondialog.java

📁 MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * MegaMek - Copyright (C) 2002-2003 Ben Mazur (bmazur@sev.org) * *  This program 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. * *  This program 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. *//* * BoardSelectionDialog.java * * Created on March 25, 2002, 6:28 PM */package megamek.client.ui.AWT;import java.awt.*;import java.awt.event.*;import java.io.IOException;import java.util.*;import megamek.common.*;import megamek.common.util.BoardUtilities;/** * * @author  Ben * @version  */public class BoardSelectionDialog     extends Dialog implements ActionListener, ItemListener, KeyListener, IMapSettingsObserver{    private ClientGUI client;    private MapSettings mapSettings;        private RandomMapDialog randomMapDialog;        private Panel panMapSize = new Panel();    private Label labBoardSize = new Label(Messages.getString("BoardSelectionDialog.BoardSize"), Label.RIGHT); //$NON-NLS-1$    private Label labBoardDivider = new Label("x", Label.CENTER); //$NON-NLS-1$    private TextField texBoardWidth = new TextField(2);    private TextField texBoardHeight = new TextField(2);        private Label labMapSize = new Label(Messages.getString("BoardSelectionDialog.MapSize"), Label.RIGHT); //$NON-NLS-1$    private Label labMapDivider = new Label("x", Label.CENTER); //$NON-NLS-1$    private TextField texMapWidth = new TextField(2);    private TextField texMapHeight = new TextField(2);        private ScrollPane scrMapButtons = new ScrollPane(ScrollPane.SCROLLBARS_AS_NEEDED);    private Panel panMapButtons = new Panel();        private Panel panBoardsSelected = new Panel();    private Label labBoardsSelected = new Label(Messages.getString("BoardSelectionDialog.MapsSelected"), Label.CENTER); //$NON-NLS-1$    private java.awt.List lisBoardsSelected = new java.awt.List(10);    private Checkbox chkSelectAll = new Checkbox(Messages.getString("BoardSelectionDialog.SelectAll")); //$NON-NLS-1$    private Button butChange = new Button("<<"); //$NON-NLS-1$    private Panel panBoardsAvailable = new Panel();    private Label labBoardsAvailable = new Label(Messages.getString("BoardSelectionDialog.mapsAvailable"), Label.CENTER); //$NON-NLS-1$    private java.awt.List lisBoardsAvailable = new java.awt.List(10);    private Checkbox chkRotateBoard = new Checkbox(Messages.getString("BoardSelectionDialog.RotateBoard")); //$NON-NLS-1$        private Panel panButtons = new Panel();    private Button butUpdate = new Button(Messages.getString("BoardSelectionDialog.UpdateSize")); //$NON-NLS-1$    private Button butRandomMap = new Button(Messages.getString("BoardSelectionDialog.GeneratedMapSettings")); //$NON-NLS-1$    private Label labButtonSpace = new Label("", Label.CENTER); //$NON-NLS-1$    private Button butOkay = new Button(Messages.getString("Okay")); //$NON-NLS-1$    private Button butCancel = new Button(Messages.getString("Cancel")); //$NON-NLS-1$    private Button butPreview = new Button(Messages.getString("BoardSelectionDialog.Preview")); //$NON-NLS-1$        private Dialog mapPreviewW;        private boolean bDelayedSingleSelect = false;        /** Creates new BoardSelectionDialog */    public BoardSelectionDialog(ClientGUI client) {        super(client.frame, Messages.getString("BoardSelectionDialog.EditBoardLaout"), true); //$NON-NLS-1$        this.client = client;        this.mapSettings = (MapSettings)client.getClient().getMapSettings().clone();        setResizable(true);                randomMapDialog = new RandomMapDialog(client.frame, this, mapSettings);        setupMapSize();        setupSelected();        setupAvailable();        setupButtons();                butChange.addActionListener(this);                // layout        GridBagLayout gridbag = new GridBagLayout();        GridBagConstraints c = new GridBagConstraints();        this.setLayout(gridbag);                    c.fill = GridBagConstraints.BOTH;        c.insets = new Insets(4, 4, 4, 4);        c.weightx = 1.0;    c.weighty = 1.0;        c.gridwidth = 1;        gridbag.setConstraints(panMapSize, c);        this.add(panMapSize);                    gridbag.setConstraints(panBoardsSelected, c);        this.add(panBoardsSelected);                    c.fill = GridBagConstraints.HORIZONTAL;        gridbag.setConstraints(butChange, c);        this.add(butChange);                    c.fill = GridBagConstraints.BOTH;        c.gridwidth = GridBagConstraints.REMAINDER;        gridbag.setConstraints(panBoardsAvailable, c);        this.add(panBoardsAvailable);                    gridbag.setConstraints(panButtons, c);        this.add(panButtons);                mapPreviewW = new Dialog(this.client.frame, Messages.getString("BoardSelectionDialog.MapPreview"), false); //$NON-NLS-1$                mapPreviewW.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                setVisible(false);            }        });                addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                setVisible(false);                mapPreviewW.setVisible(false);            }        });                pack();        setResizable(false);        setLocation(client.frame.getLocation().x + client.frame.getSize().width/2 - getSize().width/2,                    client.frame.getLocation().y + client.frame.getSize().height/2 - getSize().height/2);    }        /**     * Set up the map size panel     */    private void setupMapSize() {        refreshMapSize();        refreshMapButtons();                scrMapButtons.add(panMapButtons);                // layout        GridBagLayout gridbag = new GridBagLayout();        GridBagConstraints c = new GridBagConstraints();        panMapSize.setLayout(gridbag);                    c.insets = new Insets(1, 1, 1, 1);        c.fill = GridBagConstraints.HORIZONTAL;        c.weightx = 1.0;    c.weighty = 0.0;        c.gridwidth = 1;        gridbag.setConstraints(labBoardSize, c);        panMapSize.add(labBoardSize);                    gridbag.setConstraints(texBoardWidth, c);        panMapSize.add(texBoardWidth);                    gridbag.setConstraints(labBoardDivider, c);        panMapSize.add(labBoardDivider);                    c.gridwidth = GridBagConstraints.REMAINDER;        gridbag.setConstraints(texBoardHeight, c);        panMapSize.add(texBoardHeight);                    c.gridwidth = 1;        gridbag.setConstraints(labMapSize, c);        panMapSize.add(labMapSize);                    gridbag.setConstraints(texMapWidth, c);        panMapSize.add(texMapWidth);                    gridbag.setConstraints(labMapDivider, c);        panMapSize.add(labMapDivider);                    c.gridwidth = GridBagConstraints.REMAINDER;        gridbag.setConstraints(texMapHeight, c);        panMapSize.add(texMapHeight);                    c.fill = GridBagConstraints.BOTH;        c.weightx = 1.0;    c.weighty = 1.0;        gridbag.setConstraints(scrMapButtons, c);        panMapSize.add(scrMapButtons);    }        private void setupSelected() {        refreshBoardsSelected();        lisBoardsSelected.addItemListener(this);        lisBoardsSelected.addKeyListener(this);        chkSelectAll.addItemListener(this);                panBoardsSelected.setLayout(new BorderLayout());                panBoardsSelected.add(labBoardsSelected, BorderLayout.NORTH);        panBoardsSelected.add(lisBoardsSelected, BorderLayout.CENTER);        panBoardsSelected.add(chkSelectAll, BorderLayout.SOUTH);    }        private void setupAvailable() {        refreshBoardsAvailable();        lisBoardsAvailable.addActionListener(this);        panBoardsAvailable.setLayout(new BorderLayout());                panBoardsAvailable.add(labBoardsAvailable, BorderLayout.NORTH);        panBoardsAvailable.add(lisBoardsAvailable, BorderLayout.CENTER);        panBoardsAvailable.add(chkRotateBoard, BorderLayout.SOUTH);    }            private void setupButtons() {        butUpdate.addActionListener(this);        butOkay.addActionListener(this);        butCancel.addActionListener(this);        butRandomMap.addActionListener(this);        butPreview.addActionListener(this);                // layout        GridBagLayout gridbag = new GridBagLayout();        GridBagConstraints c = new GridBagConstraints();        panButtons.setLayout(gridbag);                    c.insets = new Insets(5, 5, 0, 0);        c.weightx = 0.0;    c.weighty = 1.0;        c.fill = GridBagConstraints.VERTICAL;        c.ipadx = 20;    c.ipady = 5;        c.gridwidth = 1;        gridbag.setConstraints(butUpdate, c);        panButtons.add(butUpdate);                gridbag.setConstraints(butRandomMap, c);        panButtons.add(butRandomMap);                gridbag.setConstraints(butPreview, c);        panButtons.add(butPreview);        c.weightx = 1.0;    c.weighty = 1.0;        gridbag.setConstraints(labButtonSpace, c);        panButtons.add(labButtonSpace);        c.weightx = 0.0;    c.weighty = 1.0;        gridbag.setConstraints(butOkay, c);        panButtons.add(butOkay);                    c.gridwidth = GridBagConstraints.REMAINDER;        gridbag.setConstraints(butCancel, c);        panButtons.add(butCancel);    }        private void refreshMapSize() {        texBoardWidth.setText(new Integer(mapSettings.getBoardWidth()).toString());        texBoardHeight.setText(new Integer(mapSettings.getBoardHeight()).toString());

⌨️ 快捷键说明

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