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

📄 cubeapplication.java

📁 wince 5.0上基于personal java写的的虚拟魔方
💻 JAVA
字号:

/*
 * Java Virtual Cube
 * -----------------
 *
 * Copyright 1996, Song Li  
 * URL: http://www.cs.umbc.edu/~sli2
 *
 * 
 * You can use the code for any nonprofittable use. But remember to mention
 * the authors' names in your revised program. You are also encouraged to
 * improve the program or give your comments and bug reports. If there are
 * further questions, please contact me and I'll be glad to help. My E-Mail
 * address is: sli2@gl.umbc.edu.
 *
 */


import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;



public class CubeApplication extends Frame implements ComponentListener{

    private CubePanel   CubeWin ;
    
    private Button      NewButton ;
    private Button      ScrambleButton ;
    private Button      SolveButton ;
    //private Button      AboutButton ;
    private Button      UndoButton ;
    //private Button      RedoButton ;
    //private Button      ExitButton ;
    private Checkbox    SoundCheckbox ;
    private Checkbox    LightCheckbox ;
    private Label       StepLabel ;
    private Label       StepText ;

    private MenuBar     mbar;
    private Menu        menu;
    private MenuItem    mitem, msolve;

    CubeAbout aboutwin;
    AboutCrEme aboutcreme;
	static CubeApplication app = null;
    
	public void init () {
		
		setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
      

        setLayout (null);
        Panel control = new Panel ();
        control.setLayout (null) ;
        add (control) ;
        control.setBounds (0, 215,getSize().width, getSize().height) ;

        NewButton      = new Button ("New") ;
        ScrambleButton = new Button ("Scramble") ;
        SolveButton    = new Button ("Solve") ;
        //AboutButton    = new Button ("About") ;
        UndoButton     = new Button ("Undo") ;
        //RedoButton     = new Button ("Redo") ;
		//ExitButton     = new Button ("Exit");
        SoundCheckbox  = new Checkbox ("Move") ;
        //LightCheckbox  = new Checkbox ("Light") ;
        StepLabel      = new Label ("Step") ;
        StepText       = new Label ("0") ;
        SoundCheckbox.setState (false) ;
        //LightCheckbox.setState (false) ;

        aboutwin = new CubeAbout ();
        aboutcreme = new AboutCrEme ();

        control.add (NewButton) ;
        control.add (ScrambleButton) ;
        control.add (SolveButton) ;
        //control.add (AboutButton) ;
        control.add (UndoButton) ;
        //control.add (ExitButton) ;
        control.add (SoundCheckbox) ;
        //control.add (LightCheckbox) ;
        control.add (StepLabel) ;
        control.add (StepText) ;

		if (CubeWin!=null) remove(CubeWin);
		CubeWin = new CubePanel (StepText) ;
        CubeWin.setLayout (null) ;
        add (CubeWin) ;
        CubeWin.setBounds ((getSize().width-238)/2, 15, 250, 200) ;
        CubeWin.DefineBound () ;

        /*try {
            CubeWin.BadSound  = new sun.applet.AppletAudioClip(new java.net.URL(illegal.au");
            CubeWin.SpinSound = new sun.applet.AppletAudioClip("spin.au");
        } catch (Exception e){}*/


        NewButton.setBounds      (10,  5, 60, 25) ;  //AboutButton.setBounds    (80,  5, 60, 25) ;
        ScrambleButton.setBounds (10,  35, 60, 25) ;  SolveButton.setBounds    (80,  35, 60, 25) ;
        UndoButton.setBounds     (80,  5, 60, 25) ;  //RedoButton.setBounds     (80,  65, 60, 25) ;
        StepLabel.setBounds      (150, 5, 25, 25) ;
        StepText.setBounds       (180, 5, 30, 25) ;
        SoundCheckbox.setBounds  (150, 35, 60, 25) ;
        //LightCheckbox.setBounds  (150, 65, 60, 25) ;   
        //ExitButton.setBounds     (80,  65, 60, 25) ;

        mbar = new MenuBar();
        menu = new Menu("File");
        mbar.add(menu);
        mitem = new MenuItem("New"); 
        menu.add(mitem);
        mitem = new MenuItem("Scramble"); 
        menu.add(mitem);
        msolve = new MenuItem("Solve"); 
        menu.add(msolve);
        mitem = new MenuItem("Exit"); 
        menu.add(mitem);
        menu = new Menu("Edit");
        mbar.add(menu);
        mitem = new MenuItem("Undo"); 
        menu.add(mitem);
        mitem = new MenuItem("Redo"); 
        menu.add(mitem);

        menu = new Menu("Help");
        mbar.setHelpMenu(menu);
        mitem = new MenuItem("About"); 
        menu.add(mitem);
        mitem = new MenuItem("About CrEme");
        menu.add(mitem);


        setMenuBar(mbar);

		show();
		start();               
    }

    public void start () {CubeWin.Start () ;}
    public void stop  () {CubeWin.Stop  () ;}


	public CubeApplication (String s) {
	super(s);
	}

    public synchronized boolean handleEvent (Event event) {
        if (event.id == Event.ACTION_EVENT) {
            if ("About".equals (event.arg))
                aboutwin.setVisible(true);
            //else if (event.target == LightCheckbox)
            //    Face.SetLight (LightCheckbox.getState ());
            else if ("About CrEme".equals (event.arg))
                aboutcreme.setVisible(true);
            else  if ("Exit".equals (event.arg))
                System.exit(0);
            else{
                if (event.target == msolve || event.target == SolveButton) {
                    event.target = SolveButton;
                    if (msolve.getLabel().equals("Solve"))
                        msolve.setLabel("Stop");
                    else
                        msolve.setLabel("Solve");
                }
                CubeWin.CommandAction (event) ;
			}
        } else if (event.id == WindowEvent.WINDOW_CLOSING)
            System.exit(0);
            
        return true ;
    }
    public void componentResized(java.awt.event.ComponentEvent e) {
			if (e instanceof java.awt.event.WindowEvent) {
				setVisible(false);
				stop();
				init();
			}
	}
    public void componentMoved(ComponentEvent e) {}

    public void componentShown(ComponentEvent e) {}

    public void componentHidden(ComponentEvent e) {}

   public static void main(String args[]) {
            app = new CubeApplication("Cube Application");
			app.init();
			app.addComponentListener(app);
   }
}

⌨️ 快捷键说明

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