亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jmine.java

?? 用java實現的全真模擬windows下的掃雷程序。不過目前實現以button方式實現。改進可以考慮以位圖形式實現
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
                rows = dlg.getRows();
                columns = dlg.getColumns();
                mines = dlg.getMines();

                minePanel.setGameLevel(rows, columns, mines);

                if (isStandalone) {
                    if (frame != null) {
                        //frame.pack();
                        Utils.packPlaceShow(frame);
                    }
                }
                else {
                    setSize(getPreferredSize());
                    validate();
                }
            }
        });

        miMark.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                boolean state = ((JCheckBoxMenuItem) e.getSource()).getState();
                minePanel.isMark = state;
                mineProps.isMark = state;
            }
        });
        miColor.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                boolean state = ((JCheckBoxMenuItem) e.getSource()).getState();
                minePanel.isColor = state;
                mineProps.isColor = state;
                // 暫未實現
            }
        });
        miSound.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                boolean state = ((JCheckBoxMenuItem) e.getSource()).getState();
                minePanel.isSound = state;
                mineProps.isSound = state;
                // 實現不完全,只能發出單調的beep聲
            }
        });

        miTopList.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                showTopListDialog();
            }
        });

        if (isStandalone) {
            miExit.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    exitApp();
                }
            });
        }
        else {
            miExit.setEnabled(false);
        }

        miAbout.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                showAboutDialog();
            }
        });

        // 組裝菜單
        mFile.add(miNew);
        mFile.addSeparator();
        mFile.add(miLowRank);
        mFile.add(miMiddleRank);
        mFile.add(miHighRank);
        mFile.add(miCustomRank);
        mFile.addSeparator();
        mFile.add(miMark);
        mFile.add(miColor);
        mFile.add(miSound);
        mFile.addSeparator();
        mFile.add(miTopList);
        mFile.addSeparator();
        mFile.add(miExit);

        mHelp.add(miContent);
        mHelp.add(miSearch);
        mHelp.add(miShowHelp);
        mHelp.addSeparator();
        mHelp.add(miAbout);

        menuBar.add(mFile);
        menuBar.add(mHelp);

        // 重新設置菜單的字體
        // Font font = new Font(mFile.getFont().getName(), Font.PLAIN, 12);
        mFile.setFont(defaultFont);
        mHelp.setFont(defaultFont);
        miNew.setFont(defaultFont);
        miLowRank.setFont(defaultFont);
        miMiddleRank.setFont(defaultFont);
        miHighRank.setFont(defaultFont);
        miCustomRank.setFont(defaultFont);
        miMark.setFont(defaultFont);
        miColor.setFont(defaultFont);
        miSound.setFont(defaultFont);
        miTopList.setFont(defaultFont);
        miExit.setFont(defaultFont);
        miContent.setFont(defaultFont);
        miSearch.setFont(defaultFont);
        miShowHelp.setFont(defaultFont);
        miAbout.setFont(defaultFont);

        // 返回菜單欄
        return menuBar;
    }

    /**
     * Creates an icon from an image contained in the "images" directory.
     */
    public ImageIcon createImageIcon(String filename, String description) {
	String path = "/images/" + filename;
	return new ImageIcon(getClass().getResource(path), description);
    }

    /**
     * 退出應用程序
     */
    public void exitApp() {
        // 保存屬性
        if (isStandalone) {
            mineProps.save();
        }

        stop();
        destroy();

        if (frame != null)
            frame.dispose();
        if (isStandalone)
            System.exit(0);
    }

    /**
     * 顯示“掃雷英雄榜”對話框
     */
    public void showTopListDialog() {
        TopListDialog dlg = new TopListDialog(this);
        //dlg.show();
        Utils.packCenterShow(frame, dlg);
    }

    /**
     * 顯示“關于”對話框
     */
    public void showAboutDialog() {
        JDialog dlg = new AboutDialog(this);
        //dlg.show();
        Utils.packCenterShow(frame, dlg);
    }

    /** 作為本Java Application的主方法 */
    public static void main(String[] args) {
        final JMine jMine = new JMine();
        jMine.isStandalone = true;

        /*final */JFrame frame = new JFrame("掃雷");
        jMine.frame = frame;

        //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                jMine.exitApp();
            }
            public void windowDeiconified(WindowEvent e) {
                jMine.start();
            }
            public void windowIconified(WindowEvent e) {
                jMine.stop();
            }
        });

        ImageIcon imgIcon = jMine.createImageIcon("mine.png", "地雷圖標");
        frame.setIconImage(imgIcon.getImage());

        frame.getContentPane().add(jMine, BorderLayout.CENTER);
        jMine.init();
        jMine.start();

//        frame.setUndecorated(true);
//        frame.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
//        SwingUtilities.updateComponentTreeUI(frame.getRootPane());

        // 包裝/縮緊窗口
        frame.pack();
        // 使窗口居于屏幕中央
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        frame.setLocation((d.width - frame.getSize().width) / 2,
                          (d.height - frame.getSize().height) / 2);
        // 顯示窗口
        frame.setVisible(true);
    }

    //static initializer for setting look & feel
    static {
        try {
            String vers = System.getProperty("java.version");
            if (vers.compareTo("1.4") < 0) {
                System.out.println("JMine must be run with a 1.4 or higher version JVM!!!");
                System.exit(0);
            }
        } catch (Throwable t) {
            System.out.println("uncaught exception: " + t);
            t.printStackTrace();
        }

        // 載入屬性
        mineProps = new MineProps();
        mineProps.load();

    	// 決定外觀感覺
        try {
            // javax.swing.plaf.metal.MetalLookAndFeel
            if (mineProps.lookAndFeel.equals(MineProps.METAL)) {
    	        UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
            }
            else if (mineProps.lookAndFeel.equals(MineProps.WINDOZ)) {
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
            }
            else if (mineProps.lookAndFeel.equals(MineProps.MOTIF)) {
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
            }
            else {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            }
    	} catch (Exception exc) {
    	    System.err.println("載入界面樣式失敗:" + exc);
    	}
    	JFrame.setDefaultLookAndFeelDecorated(true);
    	JDialog.setDefaultLookAndFeelDecorated(true);
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品久久久久久久久久| 99精品视频一区二区| 国产精品一区二区你懂的| 一本到一区二区三区| 欧美成人a∨高清免费观看| 亚洲私人黄色宅男| 国产精品亚洲午夜一区二区三区| 欧美裸体bbwbbwbbw| 亚洲品质自拍视频| 国产91高潮流白浆在线麻豆 | 色成人在线视频| 久久久久亚洲综合| 日本亚洲免费观看| 欧美日韩综合色| 综合激情网...| 国产成人午夜视频| 日韩一区二区三区三四区视频在线观看 | 亚洲欧美日韩国产成人精品影院| 国产精品888| 欧美精品在线观看一区二区| 亚洲人成人一区二区在线观看| 国产成人免费在线观看不卡| 精品国产露脸精彩对白| 美女免费视频一区二区| 91精品国产入口| 日韩一区精品字幕| 欧美日韩电影在线| 天天操天天干天天综合网| 欧美亚洲综合在线| 午夜欧美在线一二页| 欧美在线综合视频| 亚洲观看高清完整版在线观看| 色爱区综合激月婷婷| 亚洲欧美经典视频| 色婷婷亚洲婷婷| 亚洲激情图片一区| 欧美三级日韩三级| 免费成人结看片| 欧美zozo另类异族| 国产综合色精品一区二区三区| 久久久久久日产精品| 粉嫩aⅴ一区二区三区四区五区| 国产欧美一区二区三区网站| av在线不卡电影| 亚洲一区二区综合| 日韩一区二区三区高清免费看看| 奇米777欧美一区二区| 精品乱码亚洲一区二区不卡| 国产真实乱子伦精品视频| 欧美经典一区二区| 99热这里都是精品| 亚洲一级二级三级| 亚洲国产成人午夜在线一区| 成人性生交大片免费看中文| 亚洲欧美日韩中文字幕一区二区三区| 欧美自拍偷拍午夜视频| 麻豆视频一区二区| 国产拍揄自揄精品视频麻豆| 在线影院国内精品| 久久99国产精品麻豆| 中文字幕在线不卡| 91精品国产入口| 成人av网址在线| 亚洲国产另类av| 国产日韩一级二级三级| 色综合久久99| 美日韩一区二区| 亚洲日本免费电影| 日韩三级电影网址| av色综合久久天堂av综合| 亚洲第一成年网| 久久久久久久久97黄色工厂| 欧美亚洲综合一区| 国产二区国产一区在线观看| 一区二区三区精品视频| 久久综合丝袜日本网| 欧美性高清videossexo| 国产精品一区免费视频| 日韩综合一区二区| 国产精品久久久久久久久果冻传媒| 欧美少妇一区二区| 粉嫩久久99精品久久久久久夜| 亚洲成人动漫在线观看| 国产精品久久久久影院亚瑟| 欧美一区二区免费| 在线影院国内精品| 99在线精品观看| 国产精品一区二区三区网站| 日韩电影免费在线看| 一个色综合av| 国产精品三级视频| 欧美成人在线直播| 在线观看亚洲成人| 99久久精品国产一区| 国产白丝网站精品污在线入口| 日韩精品一二三四| 一区二区欧美国产| 亚洲欧美日韩国产另类专区| 国产视频911| 久久综合一区二区| 日韩精品一区二区三区四区视频| 欧美日韩国产高清一区二区| 色婷婷av一区二区三区大白胸 | 久久蜜臀精品av| 免费在线视频一区| 国产精品18久久久久久久久| 日韩欧美一级二级三级久久久| 国产精品一级片在线观看| 蜜臀久久99精品久久久久宅男| 亚洲精品国产无套在线观| 国产亚洲欧美色| 国产婷婷色一区二区三区| 精品免费日韩av| 欧美精品一区二区三区高清aⅴ| 欧美一区二区三区公司| 在线电影院国产精品| 欧美日韩美女一区二区| 欧美视频一区在线| 欧美伊人久久久久久午夜久久久久| 99久久99精品久久久久久| 成人app在线观看| 99国产欧美久久久精品| 一本到一区二区三区| 在线亚洲人成电影网站色www| 色综合色狠狠天天综合色| 91国偷自产一区二区使用方法| 91蜜桃免费观看视频| 91一区一区三区| 欧美性大战久久久久久久| 欧美日韩一级二级三级| 欧美一级视频精品观看| 欧美精品一区二区精品网| 久久日韩粉嫩一区二区三区| 国产精品久久久久影院亚瑟| 亚洲乱码精品一二三四区日韩在线| 成人免费在线播放视频| 一区二区免费在线播放| 亚洲v精品v日韩v欧美v专区| 老汉av免费一区二区三区| 粉嫩av一区二区三区粉嫩| 91小宝寻花一区二区三区| 欧美久久久久久久久久| 4438x成人网最大色成网站| 久久午夜电影网| 亚洲精品成人天堂一二三| 亚洲国产精品一区二区久久| 久久精品国产99国产| 91亚洲精品乱码久久久久久蜜桃 | 狠狠色狠狠色综合| 不卡一区中文字幕| 正在播放亚洲一区| 国产精品麻豆欧美日韩ww| 首页综合国产亚洲丝袜| 成人自拍视频在线| 8x8x8国产精品| 国产精品网站在线播放| 婷婷综合另类小说色区| 国产二区国产一区在线观看| 欧美美女bb生活片| 国产欧美视频在线观看| 国产一区二区三区在线观看免费 | 国产亚洲福利社区一区| 亚洲美女免费视频| 国产一区二区三区四区五区美女| 91片黄在线观看| 久久久国际精品| 日本不卡视频在线| 色婷婷av一区二区| 国产午夜亚洲精品不卡| 午夜精品在线视频一区| 99re视频精品| 国产日韩欧美在线一区| 老司机午夜精品| 欧美日本免费一区二区三区| 1区2区3区国产精品| 国产精品一区二区在线观看网站| 7799精品视频| 一区二区三区在线观看欧美| 成人久久视频在线观看| 精品久久99ma| 日韩精品欧美精品| 在线免费观看一区| 最新国产成人在线观看| 国产**成人网毛片九色 | 美国三级日本三级久久99| 色菇凉天天综合网| 亚洲四区在线观看| 成人av小说网| 国产精品视频在线看| 国产精品自拍三区| 久久久久久久精| 国产在线视频一区二区三区| 日韩美一区二区三区| 蜜桃一区二区三区在线观看| 91精品国产综合久久久蜜臀粉嫩 | 欧美精品乱码久久久久久按摩| 一区二区三区在线高清| 在线国产电影不卡| 一区二区三区国产豹纹内裤在线| 99re8在线精品视频免费播放|