📄 hangman.java
字号:
package com.swtdesigner;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.layout.GridData;
import com.swtdesigner.ResourceManager;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Canvas;
public class HangMan extends Shell {
public static final int EASY = 10;
public static final int MEDIUM = 5;
public static final int HARD = 3;
private static Display display;
private static Shell shell;
// private static Image image = new Image(display, new ImageData("D:/applications/sandbox/eclipse3.0.1/eclipse/workspace/test/com/swtdesigner/"+0+".gif"));
private static Image image;// = new Image(display, new ImageData(0+".gif"));
// private static Image backgroundImage = new Image(display, new ImageData("D:/applications/sandbox/eclipse3.0.1/eclipse/workspace/test/com/swtdesigner/1022593100.jpg"));
// private Image image_a = new Image(display, new ImageData(getClass().getResourceAsStream("accept.jpg")));
// private Image image_b = new Image(display, new ImageData(getClass().getResourceAsStream("B.gif")));
// private Image image_t = new Image(display, new ImageData(getClass().getResourceAsStream("T.gif")));
private Visit visit = new Visit();
private HangmanGame oGame = null;
private Menu menu;
private MenuItem menuItem;
private MenuItem menuItem_1;
private Menu menu_2;
private MenuItem menuItem_9;
private MenuItem menuItem_10;
private Menu menu_1;
private MenuItem menuItem_2;
private MenuItem menuItem_11;
private MenuItem menuItem_12;
private MenuItem menuItem_13;
private MenuItem menuItem_3;
private MenuItem menuItem_7;
private MenuItem menuItem_8;
private Canvas canvas;
private Canvas canvas_1;
private Button button;
private Button button_1;
private Button button_2;
private Button button_3;
private Button button_4;
private Button button_5;
private Button button_6;
private Button button_7;
private Button button_8;
private Button button_9;
private Button button_10;
private Button button_11;
private Button button_12;
private Button button_13;
private Button button_14;
private Button button_15;
private Button button_16;
private Button button_17;
private Button button_18;
private Button button_19;
private Button button_20;
private Button button_21;
private Button button_22;
private Button button_23;
private Button button_24;
private Button button_25;
public static void main(String args[]) {
try {
// Display display = Display.getDefault();
// HangMan shell = new HangMan(display, SWT.SHELL_TRIM);
display = Display.getDefault();
shell = new HangMan(display, SWT.SHELL_TRIM);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public HangMan(Display display, int style) {
super(display, style);
createContents();
}
protected void createContents() {
image = new Image(display, new ImageData(getClass().getResourceAsStream(0+".gif")));
setText("HangMan");
setSize(500, 384);
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 12;
setLayout(gridLayout);
setForeground(ResourceManager.getColor(128, 255, 128));
menu = new Menu(this, SWT.BAR);
setMenuBar(menu);
menuItem = new MenuItem(menu, SWT.CASCADE);
menuItem.setText("游戏(&G)");
menuItem_1 = new MenuItem(menu, SWT.CASCADE);
menuItem_1.setText("帮助(&H)");
menu_2 = new Menu(menuItem_1);
menuItem_1.setMenu(menu_2);
menuItem_9 = new MenuItem(menu_2, SWT.NONE);
menuItem_9.setText("使用帮助(&H)");
new MenuItem(menu_2, SWT.SEPARATOR);
menuItem_10 = new MenuItem(menu_2, SWT.NONE);
menuItem_10.setText("关于HangMan(&A)");
menu_1 = new Menu(menuItem);
menuItem.setMenu(menu_1);
menuItem_2 = new MenuItem(menu_1, SWT.NONE);
menuItem_2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
visit.startGame(EASY);
startState();
image = new Image(display, new ImageData(getClass().getResourceAsStream("0.gif")) );
canvas_1.update();
}
});
menuItem_2.setText("开局(&N)");
new MenuItem(menu_1, SWT.SEPARATOR);
menuItem_11 = new MenuItem(menu_1, SWT.CHECK);
menuItem_11.setSelection(true);
menuItem_11.setText("初级(&B)");
menuItem_12 = new MenuItem(menu_1, SWT.CHECK);
menuItem_12.setText("中级(&I)");
menuItem_13 = new MenuItem(menu_1, SWT.CHECK);
menuItem_13.setText("高级(&E)");
new MenuItem(menu_1, SWT.SEPARATOR);
menuItem_3 = new MenuItem(menu_1, SWT.CHECK);
menuItem_3.setText("声音(&S)");
new MenuItem(menu_1, SWT.SEPARATOR);
menuItem_7 = new MenuItem(menu_1, SWT.NONE);
menuItem_7.setText("排行榜(&T)");
new MenuItem(menu_1, SWT.SEPARATOR);
menuItem_8 = new MenuItem(menu_1, SWT.NONE);
menuItem_8.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
display.dispose();
}
});
menuItem_8.setText("退出(&X)");
canvas = new Canvas(this, SWT.BORDER);
canvas.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
canvas.setForeground(ResourceManager.getColor(255, 0, 0));
final GridData gridData = new GridData(GridData.FILL_BOTH);
gridData.verticalSpan = 6;
gridData.horizontalSpan = 6;
canvas.setLayoutData(gridData);
// canvas.update();
canvas.addPaintListener(new PaintListener() {
public void paintControl(final PaintEvent event) {
oGame = visit.getGame();
// event.gc.drawImage(backgroundImage, 0, 0);
event.gc.drawText(oGame.getGuess(), 70, 90);
canvas.redraw();
}
});
canvas_1 = new Canvas(this, SWT.BORDER);
// canvas_1 = new Canvas(this, SWT.NO_REDRAW_RESIZE);
canvas_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
final GridData gridData_1 = new GridData(GridData.FILL_HORIZONTAL
| GridData.VERTICAL_ALIGN_FILL);
gridData_1.verticalSpan = 6;
gridData_1.horizontalSpan = 6;
canvas_1.setLayoutData(gridData_1);
canvas_1.addPaintListener(new PaintListener() {
public void paintControl(final PaintEvent event) {
if (image != null) {
event.gc.drawImage(image, 35, 0);
}
canvas_1.redraw();
}
});
button = new Button(this, SWT.CHECK);
button.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("A");
button.setEnabled(false);
canvas.update();
}
});
button.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
//// button.setText("A");
// ImageData ideaData = new ImageData(getClass().getResourceAsStream("accept.jpg"));
//// int whitePixel = ideaData.palette.getPixel(new RGB(255,0,0));
//// ideaData.transparentPixel = whitePixel;
// Image image_a = new Image(display,ideaData);
// final int width = image_a.getBounds().width;
// final int height = image_a.getBounds().height;
//
// final Image scaled020_a = new Image(display,
// image_a.getImageData().scaledTo((int)(width*0.20),(int)(height*0.20)));
button.setImage(scaleImage("accept.jpg", 0.2, 0.2));
button_1 = new Button(this, SWT.CHECK);
button_1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("B");
button_1.setEnabled(false);
}
});
button_1.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
// button_1.setText("B");
//// button_1.setImage(image_b);
// Image image_b = new Image(display,new ImageData(getClass().getResourceAsStream("belief.jpg")));
//
// final Image scaled020_b = new Image(display,
// image_b.getImageData().scaledTo((int)(width*0.20),(int)(height*0.20)));
button_1.setImage(scaleImage("belief.jpg", 0.2, 0.2));
button_2 = new Button(this, SWT.CHECK);
button_2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("C");
button_2.setEnabled(false);
}
});
button_2.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_2.setImage(scaleImage("care.jpg", 0.2, 0.2));
button_3 = new Button(this, SWT.CHECK);
button_3.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("D");
button_3.setEnabled(false);
}
});
button_3.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_3.setImage(scaleImage("digest.gif", 0.2, 0.2));
button_4 = new Button(this, SWT.CHECK);
button_4.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("E");
button_4.setEnabled(false);
}
});
button_4.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_4.setImage(scaleImage("everlasting.jpg", 0.2, 0.2));
button_5 = new Button(this, SWT.CHECK);
button_5.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("F");
button_5.setEnabled(false);
}
});
button_5.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_5.setImage(scaleImage("freedom.jpg", 0.2, 0.2));
button_6 = new Button(this, SWT.CHECK);
button_6.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("G");
button_6.setEnabled(false);
}
});
button_6.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_6.setImage(scaleImage("give.jpg", 0.2, 0.2));
button_7 = new Button(this, SWT.CHECK);
button_7.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("H");
button_7.setEnabled(false);
}
});
button_7.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_7.setImage(scaleImage("heart.jpg", 0.2, 0.2));
button_8 = new Button(this, SWT.CHECK);
button_8.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("I");
button_8.setEnabled(false);
}
});
button_8.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_8.setImage(scaleImage("independence.jpg", 0.2, 0.2));
button_9 = new Button(this, SWT.CHECK);
button_9.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("J");
button_9.setEnabled(false);
}
});
button_9.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_9.setImage(scaleImage("jealousy.jpg", 0.2, 0.2));
button_10 = new Button(this, SWT.CHECK);
button_10.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("K");
button_10.setEnabled(false);
}
});
button_10.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_10.setImage(scaleImage("kiss.jpg", 0.2, 0.2));
button_11 = new Button(this, SWT.CHECK);
button_11.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("L");
button_11.setEnabled(false);
}
});
button_11.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_11.setImage(scaleImage("love.jpg", 0.2, 0.2));
button_12 = new Button(this, SWT.CHECK);
button_12.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("M");
button_12.setEnabled(false);
}
});
button_12.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_12.setImage(scaleImage("mature.jpg", 0.2, 0.2));
button_13 = new Button(this, SWT.CHECK);
button_13.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("N");
button_13.setEnabled(false);
}
});
button_13.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
button_13.setImage(scaleImage("natural.jpg", 0.2, 0.2));
button_14 = new Button(this, SWT.CHECK);
button_14.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage("O");
button_14.setEnabled(false);
}
});
button_14.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL
| GridData.HORIZONTAL_ALIGN_CENTER));
button_14.setImage(scaleImage("observe.jpg", 0.2, 0.2));
button_15 = new Button(this, SWT.CHECK);
button_15.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -