📄 tower.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 + -