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

📄 commonaboutdialog.java

📁 MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight
💻 JAVA
字号:
/* * MegaMek - Copyright (C) 2003,2004,2005 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. */package megamek.client.ui.AWT;import java.awt.*;import java.awt.event.*;import java.util.*;import megamek.client.ui.AWT.widget.BackGroundDrawer;import megamek.client.ui.AWT.widget.BufferedPanel;import megamek.client.ui.AWT.widget.AdvancedLabel;/** * Every about dialog in MegaMek should have an identical look-and-feel. */public class CommonAboutDialog extends Dialog{    /**     * We only need a single copy of the "about" title image that we share.     */    private static Image imgTitleImage = null;    /**     * Get the single title image in a threadsafe way.     *     * @param   frame - a <code>Frame</code> object to instantiate the image.     * @return  the title <code>Image</code> common to all "about" dialogs.     *          This value should <b>not</b> be <code>null</code>.     */    private static synchronized Image getTitleImage( Frame frame ) {        // Have we loaded our image yet?        if ( imgTitleImage == null ) {            // Nope.  Load it.            Image image = frame.getToolkit().getImage                ( "data/images/misc/megamek-splash2.gif" ); //$NON-NLS-1$            MediaTracker tracker = new MediaTracker( frame );            tracker.addImage( image, 0 );            try {                tracker.waitForID( 0 );                imgTitleImage = image;            } catch ( InterruptedException exp ) {                exp.printStackTrace();            }        } // End load-imgTitleImage        // Return our image.        return imgTitleImage;    }    /**     * Create an "about" dialog for MegaMek.     *     * @param   frame - the parent <code>Frame</code> for this dialog.     */    public CommonAboutDialog( Frame frame ) {        // Construct the superclass.        super( frame, Messages.getString("CommonAboutDialog.title") ); //$NON-NLS-1$        // Make sure we close at the appropriate times.        this.addWindowListener(new WindowAdapter() {                public void windowClosing(WindowEvent e) {                    quit();                }            } );        // Make a splash image panel.        BufferedPanel panTitle = new BufferedPanel();        Image imgSplash = CommonAboutDialog.getTitleImage( frame );        BackGroundDrawer bgdTitle = new BackGroundDrawer( imgSplash );        panTitle.addBgDrawer(bgdTitle);        panTitle.setPreferredSize( imgSplash.getWidth(null),                                    imgSplash.getHeight(null) );        // Make a label containing the version of this app.        StringBuffer buff = new StringBuffer();        buff.append( Messages.getString("CommonAboutDialog.version") ) //$NON-NLS-1$            .append( megamek.MegaMek.VERSION )            .append( Messages.getString("CommonAboutDialog.timestamp") ) //$NON-NLS-1$            .append( new Date(megamek.MegaMek.TIMESTAMP).toString() )            .append( Messages.getString("CommonAboutDialog.javaVendor") ) //$NON-NLS-1$            .append( System.getProperty("java.vendor") ) //$NON-NLS-1$            .append( Messages.getString("CommonAboutDialog.javaVersion") ) //$NON-NLS-1$            .append( System.getProperty("java.version") ); //$NON-NLS-1$        AdvancedLabel lblVersion = new AdvancedLabel( buff.toString() );        AdvancedLabel lblCopyright = new AdvancedLabel(Messages.getString("CommonAboutDialog.copyright")); //$NON-NLS-1$        AdvancedLabel lblAbout = new AdvancedLabel(Messages.getString("CommonAboutDialog.about")); //$NON-NLS-1$        // Add a "Close" button.        Button butClose = new Button( Messages.getString("CommonAboutDialog.Close") ); //$NON-NLS-1$        butClose.addActionListener( new ActionListener() {                public void actionPerformed( ActionEvent event ) {                    quit();                }            } );        // Layout        GridBagLayout gridbag = new GridBagLayout();        GridBagConstraints c = new GridBagConstraints();        this.setLayout(gridbag);        c.fill = GridBagConstraints.BOTH;        c.anchor = GridBagConstraints.NORTH;        c.weightx = 0.0;    c.weighty = 0.0;        c.insets = new Insets(4, 4, 1, 1);        c.gridwidth = GridBagConstraints.REMAINDER;        c.ipadx = 10;    c.ipady = 5;        c.gridx = 0;        c.gridy = 0;        this.add(panTitle, c);        c.weighty = 1.0;        c.fill = GridBagConstraints.HORIZONTAL;        c.gridy = 1;        this.add(lblVersion, c);        c.gridy = 2;        this.add(lblCopyright, c);        c.gridy = 3;        this.add(lblAbout, c);        c.gridy = 4;        this.add(butClose, c);        // Place this dialog on middle of screen.        Dimension screenSize = frame.getToolkit().getScreenSize();        this.pack();        this.setLocation(            screenSize.width / 2 - this.getSize().width / 2,            screenSize.height / 2 - this.getSize().height / 2);        // Stop allowing resizing.        this.setResizable( false );    }    /**     * Close this dialog.     */    /* package */ void quit() {        this.setVisible(false);    }}

⌨️ 快捷键说明

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