📄 minesweeperlistener.java
字号:
package cn.pandaoen.game.minesweeper.actions;
import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import cn.pandaoen.game.minesweeper.BestTimeDialog;
import cn.pandaoen.game.minesweeper.res.Resources;
/**
* The simple listener for many menus.
*
* @author pan
*/
class MineSweeperListener implements Listener {
MineSweeperMenu menu;
Shell shell;
Logger logger = Logger.getLogger(MineSweeperListener.class);
public MineSweeperListener(MineSweeperMenu menu) {
this.menu = menu;
shell = menu.shell;
}
/*
* @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
*/
public void handleEvent(Event event) {
if (event.widget == menu.exitItem) {
menu.shell.close();
} else if (event.widget == menu.aboutItem) {
showAbout();
} else if (event.widget == menu.contentItem) {
showHelp();
} else if (event.widget == menu.bestTimeItem) {
showBestTime();
} else if (event.widget == menu.newItem) {
menu.mineSweeper.newGame();
}
}
void showBestTime() {
logger.trace("Show best time."); //$NON-NLS-1$
BestTimeDialog dlg = new BestTimeDialog(menu.shell);
dlg.open();
}
boolean _showing = false;
void showHelp() {
logger.debug("Show help content. NOT Implemented"); //$NON-NLS-1$
if (_showing) {
menu.mineSweeper.getBoard().redraw();
} else {
menu.mineSweeper.getBoard()._showall();
}
_showing = !_showing;
}
void showAbout() {
MessageBox messageBox = new MessageBox(shell, SWT.NONE);
messageBox.setText(Resources.res.getString("About.Title")); //$NON-NLS-1$
messageBox.setMessage(Resources.res.getString("About.Text")); //$NON-NLS-1$
messageBox.open();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -