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

📄 modechangelistener.java

📁 模仿windows的扫雷游戏 SWT编写的 需要log4j 1.2.4
💻 JAVA
字号:
package cn.pandaoen.game.minesweeper.actions;

import org.apache.log4j.Logger;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.MenuItem;

import cn.pandaoen.game.minesweeper.C11N;
import cn.pandaoen.game.minesweeper.CustomDialog;
import cn.pandaoen.game.minesweeper.res.Resources;

public class ModeChangeListener extends SelectionAdapter {

	Logger logger = Logger.getLogger(ModeChangeListener.class);
	MineSweeperMenu menu;

	ModeChangeListener(MineSweeperMenu menu) {
		this.menu = menu;
	}

	@Override
	public void widgetSelected(SelectionEvent e) {
		if (!((MenuItem) e.widget).getSelection())
			return;

		int mode = ((Integer) e.widget.getData()).intValue();
		logger.trace("New mode " + mode); //$NON-NLS-1$
		if (mode == C11N.c11n.getMode() && mode != C11N.CUSTOM) {
			return;
		}

		Point size;
		int mineCount;
		if (mode < C11N.CUSTOM) {
			size = C11N.c11n.getSize(mode);
			mineCount = C11N.c11n.getMines(mode);
		} else {
			logger.trace("show custom dialog"); //$NON-NLS-1$
			CustomDialog dlg = new CustomDialog(menu.shell);
			dlg.setMines(C11N.c11n.getMines());
			dlg.setSize(C11N.c11n.getSize());
			if (SWT.OK == dlg.open()) {
				mineCount = dlg.getMines();
				size = dlg.getSize();
				C11N.c11n.setMines(mineCount);
				C11N.c11n.setSize(size);
			} else {
				menu.mineSweeper.newGame();
				return;
			}

		}

		C11N.c11n.setMode(mode);
		menu.mineSweeper.getBoard().setMinesAndSize(mineCount, size.x, size.y);
		menu.mineSweeper.getTimer().stop();
		menu.mineSweeper.getTimer().reset();
		menu.mineSweeper.getCounter().setValue(mineCount);
		menu.mineSweeper.getButtom().setImage(
				Resources.res.getImage("smile.gif")); //$NON-NLS-1$
		menu.mineSweeper.getShell().pack(true);
	}
}

⌨️ 快捷键说明

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