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

📄 tower.java

📁 JAVA写的图形化汉诺塔程序 swing实现
💻 JAVA
字号:
package chapter1;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Tower extends JFrame implements ActionListener,Runnable
{
	HannoiTower tower = null;
	JButton renew,start=null;
	int numberOfDisk;
	int width,heigth;//the size of the largest disk 
	TextArea text = null;
	Thread thread = null;
	
	public Tower()
	{
		thread = new Thread(this);
		numberOfDisk = 5;
		width = 80;
		heigth = 18;
		text = new TextArea(12,12);
		text.setText(null);
		tower = new HannoiTower(numberOfDisk,width,heigth,text);
		
		renew = new JButton("Refresh");
		start  = new JButton("Start");
		renew.addActionListener(this);
		start.addActionListener(this);
		JPanel con= new JPanel(new FlowLayout()); 
		con.add(renew);
		con.add(start);
		
		add(tower , BorderLayout.CENTER);
		add(con,BorderLayout.SOUTH);
		add(text,BorderLayout.EAST);
        setDefaultCloseOperation(EXIT_ON_CLOSE);	
        setVisible(true);
        setBounds(60,20,670,540);
        setTitle("Hannoi");
        validate();
	}
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==renew)
		{
			if(!(thread.isAlive()))
			{
			this.remove(tower);
			text.setText(null);
			tower = new HannoiTower(numberOfDisk,width,heigth,text);
			add(tower , BorderLayout.CENTER);
			validate();
			}
		}
		if(e.getSource()==start)
		{
			if(!thread.isAlive())
			{	
				thread = new Thread(this);
			}
			try
			{
				thread.start();
			}catch(Exception e1){}
		}
	}
	public void run()
	{
		this.remove(tower);
		text.setText(null);
		tower = new HannoiTower(numberOfDisk,width,heigth,text);
		add(tower , BorderLayout.CENTER);
		validate();
		tower.autoShow(numberOfDisk,'A','B','C');
	}
	public static void main(String[] args)
	{
		new Tower();
	}
}

⌨️ 快捷键说明

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