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

📄 baseframe.java

📁 梦界家园程序开发基底框架
💻 JAVA
字号:
package jm.form.gui.swing.game.util.model;

import java.awt.Cursor;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.UIManager;

import jm.framework.gui.AppCtrlHandler;


/**
 * <p>Title: JM 整合Swing控件,使用配置信息</p>
 *
 * <p>Copyright: Copyright (c) 2004-2006</p>
 *
 * <p>Company: 1SHome</p>
 *
 * <p>@author Spook</p>
 *
 * @since 1.3
 * @see JDK 1.5.0.6
 */
public abstract class BaseFrame extends JFrame implements AppCtrlHandler {
    protected final int BZ_WITH = 6;
    protected final int BZ_HEIGHT = 15;
    public BaseFrame () {
        try {
//            this.setIconImage(ImageIO.read(new File("image/1shomeIcon.jpg")));
            addWindowListener(new WindowEventHandler());
        } catch (Exception e) {
            e.printStackTrace();
        }
        this.setResizable(false);
        // this.setSize(new Dimension(800+BZ_WITH, 600+BZ_HEIGHT));
    }

    /**
     * 关闭
     */
    private final void close () {
        try {
            this.setVisible(false);
            this.dispose();
            System.gc();
        } catch (Exception ex) {
        }
    }

    /**
     * 光标设置
     * @param abflag
     */
    public void setCursor (boolean wait) {
        if (wait) {
            this.setCursor(new Cursor(Cursor.WAIT_CURSOR));
        } else {
            this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
        }
    }

    /**
     * 接收窗口事件的抽象适配器类
     * 使用扩展的类可以创建侦听器对象,然后使用窗口的 addWindowListener 方法向该窗口注册侦听器。
     * 当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,
     * 并将 WindowEvent 传递给该方法
     */
    private class WindowEventHandler extends WindowAdapter {

        /**
         * 窗口正处在关闭过程中时调用。此时可重写关闭操作。
         * @param  e
         */
        public void windowClosing (WindowEvent e) {
            if (queryClose())
                close();
        }

        /**
         * 已打开窗口时调用。
         * @param  e
         */
        public void windowOpened (WindowEvent e) {
        }

//        /**
//         *  激活窗口时调用
//         * @param  e
//         */
//        public void windowActivated(WindowEvent e) {
//        }
    }


    //////////////////////////////////////////////////////////////////////
    static {
        try {
//            UIManager.setLookAndFeel("org.fife.plaf.Office2003.Office2003LookAndFeel");
//            UIManager.setLookAndFeel("org.fife.plaf.OfficeXP.OfficeXPLookAndFeel");
//            UIManager.setLookAndFeel("org.fife.plaf.VisualStudio2005.VisualStudio2005LookAndFeel");
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
//            UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
        } catch (Exception e) {
            System.err.println("Oops!  Something went wrong!");
        }
    }

}

⌨️ 快捷键说明

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