📄 towerstackpanel.java
字号:
package datastructure;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
import java.awt.*;
import javax.swing.*;
class TowerStackPanel
extends JPanel {
private Button array[];
public static int index = 0;
public TowerStackPanel() {
array = new Button[45];
setLayout(new GridLayout(10, 5, 0, 0));
for (int i = 44; i >= 0; i--) {
array[i] = new Button(" ");
array[i].setBackground(new Color(221, 235, 249));
add(array[i]);
}
addLabel(" N ", "Number of disks");
addLabel(" F ", "From needle");
addLabel(" T ", "To needle");
addLabel(" H ", "Help needle");
addLabel(" L ", "Return line number");
}
private void addLabel(String s, String s1) {
JLabel jlabel = new JLabel(s);
jlabel.setForeground(Color.red);
jlabel.setToolTipText(s1);
add(jlabel);
}
public void push(String s, String s1, String s2, String s3, String s4) {
if (index > 45)
pop();
array[index++].setLabel(s4);
array[index++].setLabel(s3);
array[index++].setLabel(s2);
array[index++].setLabel(s1);
array[index++].setLabel(s);
}
public void pop() {
if (index <= 0) {
return;
}
else {
array[--index].setLabel(" ");
array[--index].setLabel(" ");
array[--index].setLabel(" ");
array[--index].setLabel(" ");
array[--index].setLabel(" ");
return;
}
}
public void initialize(int i) {
if (i <= 0) {
return;
}
else {
char c = (char) (i + 48);
String s = new String(" " + c + " ");
push(s, " A ", " B ", " C ", " ");
return;
}
}
public void clear() {
while (index > 0)
pop();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -