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

📄 tower.java

📁 用java写的一个动画显示汉诺塔移动的程序
💻 JAVA
字号:
/* * Tower.java * * Created on 2007年10月4日, 下午6:07 * * To change this template, choose Tools | Options and locate the template under * the Source Creation and Management node. Right-click the template and choose * Open. You can then make changes to the template in the Source Editor. */package 汉诺塔;/** * * @author baili */import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Tower extends Frame implements ActionListener,Runnable{  HannoiTower tower=null;  Button renew,auto=null;  char towerName[]={'A','B','C'};                              int 盘子数目,盘宽,盘高;  Thread thread;  TextArea 信息条=null;      Image image;  Panel panel; // TextField tf;//  Label input;  public Tower()   {       thread=new Thread(this);      盘子数目=5;      盘宽=100;      盘高=30;      信息条=new TextArea(12,12);      信息条.setText(null);      panel=new Panel();    //  tf=new TextField(5);    //  input=new Label("请输入盘子个数:");     // panel.setLayout(new FlowLayout());    //  panel.add(input);    //  panel.add(tf);      tower=new HannoiTower(盘子数目,盘宽,盘高,towerName,信息条);      renew=new Button("停止");      auto=new Button("自动演示搬盘子");      panel.add(renew);      panel.add(auto);      renew.addActionListener(this);      auto.addActionListener(this);      add(tower,BorderLayout.CENTER);      add(panel,BorderLayout.SOUTH);            add(信息条,BorderLayout.EAST);      addWindowListener(new WindowAdapter()                 { public void windowClosing(WindowEvent e)                     { System.exit(0);      	             }                 });        java.net.URL imageurl = this.getClass().getResource("cover.gif");	image = new javax.swing.ImageIcon("F:/My Pictures/204998.jpg").getImage();      this.setIconImage(image);      setTitle("Hanoi");      setVisible(true);      setBounds(60,20,670,540);      validate();   } public void actionPerformed(ActionEvent e)   {     if(e.getSource()==renew)       {          if(!(thread.isAlive()))               {                 this.remove(tower);                 信息条.setText(null);                 tower=new HannoiTower(盘子数目,盘宽,盘高,towerName,信息条);                 add(tower,BorderLayout.CENTER);                 validate();                }          else               {              try                 {  thread.stop(); }              catch(Exception eee)                 {  }                 this.remove(tower);                 信息条.setText(null);                 tower=new HannoiTower(盘子数目,盘宽,盘高,towerName,信息条);                 add(tower,BorderLayout.CENTER);                 validate();                }       }     if(e.getSource()==auto)       {         if(!(thread.isAlive()))                   thread=new Thread(this);         try            {               thread.start();            }         catch(Exception eee)            {            }               }   } public void run()   {     this.remove(tower);     信息条.setText(null);     tower=new HannoiTower(盘子数目,盘宽,盘高,towerName,信息条);     add(tower,BorderLayout.CENTER);     validate();      tower.自动演示搬运盘子(盘子数目,towerName[0] ,towerName[1],towerName[2]);   } public static void main(String args[])   {      new Tower();   }}

⌨️ 快捷键说明

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