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

📄 hangman.java

📁 一个叫HangMan的猜词游戏,左边显示要猜的词
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -