📄 frame1.java~298~
字号:
void binaryTreePostOrder_actionPerformed(ActionEvent e) {
if (table.isEmpty() == true) {
return;
}
//使其他功能按钮不能使用
text.setEnabled(false);
binaryTreePreOrder.setEnabled(false);
binaryTreeInOrder.setEnabled(false);
binaryTreePostOrder.setEnabled(true);
treePreOrder.setEnabled(false);
treePostOrder.setEnabled(false);
binaryTreePostOrder.setText("下一步");
//binaryTree.postOrder();
table.changePathQueue(binaryTree.postOrder());
drawTable.setTable(table);
if (index < table.number) {
drawTable.setCurrent(++index);
drawTable.fillCurrent();
drawTable.unFillPreCurrent(index-1);
drawTable.paintBottomNode();
drawTable.repaint();
}
if (index == table.number) { //重新开始
index = -1;
drawTable.cleanBottonCircle();
//drawTable.unFillPreCurrent(0);
binaryTreeInOrder.setText("中序遍历");
binaryTreePreOrder.setText("先序遍历");
binaryTreePostOrder.setText("后序遍历");
binaryTreeInOrder.setEnabled(true);
binaryTreePreOrder.setEnabled(true);
}
}
void treePreOrder_actionPerformed(ActionEvent e) {
if (table.isEmpty() == true) {
return;
}
//使其他功能按钮不能使用
text.setEnabled(false);
binaryTreePreOrder.setEnabled(false);
binaryTreeInOrder.setEnabled(false);
binaryTreePostOrder.setEnabled(false);
treePreOrder.setEnabled(true);
treePostOrder.setEnabled(false);
treePreOrder.setText("下一步");
table.changePathQueue(tree.preOrder());
drawTable.setTable(table);
if (index < table.number) {
drawTable.setCurrent(++index);
drawTable.fillCurrent();
drawTable.unFillPreCurrent(index-1);
drawTable.paintBottomNode();
drawTable.repaint();
}
if (index == table.number) { //重新开始
index = -1;
drawTable.cleanBottonCircle();
//drawTable.unFillPreCurrent(0);
treePreOrder.setText("先根遍历");
treePostOrder.setEnabled(true);
}
}
void treePostOrder_actionPerformed(ActionEvent e) {
if (table.isEmpty() == true) {
return;
}
//使其他功能按钮不能使用
text.setEnabled(false);
binaryTreePreOrder.setEnabled(false);
binaryTreeInOrder.setEnabled(false);
binaryTreePostOrder.setEnabled(false);
treePreOrder.setEnabled(false);
treePostOrder.setEnabled(true);
treePostOrder.setText("下一步");
//tree.postOrder();
table.changePathQueue(tree.postOrder());
drawTable.setTable(table);
if (index < table.number) {
drawTable.setCurrent(++index);
drawTable.fillCurrent();
drawTable.unFillPreCurrent(index-1);
drawTable.paintBottomNode();
drawTable.repaint();
}
if (index == table.number) { //重新开始
index = -1;
drawTable.cleanBottonCircle();
//drawTable.unFillPreCurrent(0);
treePostOrder.setText("后根遍历");
treePreOrder.setEnabled(true);
}
}
void reset_actionPerformed(ActionEvent e) {
table = new Table(); //表格数据,记录了节点的坐标等信息
tree = new Tree(); //树
binaryTree = new BinaryTree(); //二叉树
autoThread = null; //基本运行线程
index = -1;
//flag = new String(); //是树还是二叉树的标志“Tree”“BinaryTree”
//fps = 1000; //频率
/******************************************************
//drawTable=new DrawPanel();
切记,不要再新建一个对象了!!
*********************************************************/
///////////////////////////////////////////////////////////
/**
drawTable.InitDrawPanel();
*/
////////////////////////////////////////////////////////////
drawTable.removeAll();
drawTable.repaint();
text.setEnabled(true);
text.setText(null);
binaryTreePreOrder.setEnabled(true);
binaryTreeInOrder.setEnabled(true);
binaryTreePostOrder.setEnabled(true);
treePreOrder.setEnabled(true);
treePostOrder.setEnabled(true);
binaryTreePreOrder.setText("先序遍历");
binaryTreeInOrder.setText("中序序遍历");
binaryTreePostOrder.setText("后序序遍历");
treePreOrder.setText("先根遍历");
treePostOrder.setText("后根遍历");
/*DrawPanel d=new DrawPanel();
this.drawTable=d;
//drawTable=new DrawPanel();
//drawTable.setTable(table);
this.drawTable.repaint();
//jRadioButtonBT.updateUI();
//jRadioButtonTree.updateUI();
//drawTable.setBackground(Color.white);*/
}
void auto_actionPerformed(ActionEvent e) {
// if(e.getActionCommand().equals("start")){
//now="auto";
// auto.setText("pause");
if (auto.getText().equals("auto")) {
now = "auto";
auto.setText("pause");
travel = true;
autoThread = new Thread(this);
autoThread.start();
}
// }
else if (auto.getText().equals("pause")) {
now = "pause";
auto.setText("continue");
// autoThread.interrupt();
//auto
}
else if (auto.getText().equals("continue")) {
now = "continue";
auto.setText("pause");
//autoThread.interrupt();
}
}
void stop_actionPerformed(ActionEvent e) {
now = "stop";
travel = false;
index = -1;
auto.setText("auto");
try {
autoThread.stop();
}
catch (Exception ex) {
}
autoThread = null;
if (jRadioButtonTree.isSelected() == true) {
treePreOrder.setEnabled(true);
treePostOrder.setEnabled(true);
treePreOrder.setText("先根遍历");
treePostOrder.setText("后根遍历");
}
else if (jRadioButtonBT.isSelected() == true) {
binaryTreePreOrder.setEnabled(true);
binaryTreeInOrder.setEnabled(true);
binaryTreePostOrder.setEnabled(true);
binaryTreePreOrder.setText("先序遍历");
binaryTreeInOrder.setText("中序遍历");
binaryTreePostOrder.setText("后序遍历");
}
drawTable.cleanBottonCircle();
drawTable.repaint();
}
public void run() {
//Thread theThread = Thread.currentThread();
//int i = 0;
//从最开始演示
//for (int i = 0; i < table.number; i++) {
while (index < table.number-1) {
if (!now.equals("pause")) {
if (travel == true) {
drawTable.setCurrent(++index);
drawTable.fillCurrent();
drawTable.unFillPreCurrent(index-1);
drawTable.paintBottomNode();
drawTable.repaint();
}
}
if (travel == true) {
try {
Thread.sleep(2500 / fps);
}
catch (InterruptedException ex) {
//autoThread.notifyAll();
//return;
}
}
// else if(travel==false){
// autoThread=null;
// }
if (index == table.number-1) { //重新开始
index = -1;
//drawTable.unFillPreCurrent(0);
try {
Thread.sleep(2500 / fps);
}
catch (InterruptedException ex) {
//autoThread.notifyAll();
//return;
}
drawTable.cleanBottonCircle();
}
/* while(now.equals("pause")){
try {
autoThread.wait();
}
catch (InterruptedException ex) {
autoThread.notifyAll();
}*/
}
//从最遍历到的那个节点开始演示
/* while(index<table.number){
drawTable.setCurrent(++index);
drawTable.repaint();
try {
Thread.sleep(fps);
}
catch (InterruptedException ex) {
}
if(index==table.number)
index=-1;
}*/
}
}
class Frame1_jMenuFileExit_ActionAdapter
implements ActionListener {
Frame1 adaptee;
Frame1_jMenuFileExit_ActionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileExit_actionPerformed(e);
}
}
class Frame1_jMenuHelpAbout_ActionAdapter
implements ActionListener {
Frame1 adaptee;
Frame1_jMenuHelpAbout_ActionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuHelpAbout_actionPerformed(e);
}
}
class Frame1_jRadioButtonTree_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_jRadioButtonTree_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jRadioButtonTree_actionPerformed(e);
}
}
class Frame1_jRadioButtonBT_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_jRadioButtonBT_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jRadioButtonBT_actionPerformed(e);
}
}
class Frame1_text_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_text_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.text_actionPerformed(e);
}
}
class Frame1_binaryTreePreOrder_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_binaryTreePreOrder_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.binaryTreePreOrder_actionPerformed(e);
}
}
class Frame1_binaryTreeInOrder_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_binaryTreeInOrder_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.binaryTreeInOrder_actionPerformed(e);
}
}
class Frame1_binaryTreePostOrder_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_binaryTreePostOrder_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.binaryTreePostOrder_actionPerformed(e);
}
}
class Frame1_treePreOrder_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_treePreOrder_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.treePreOrder_actionPerformed(e);
}
}
class Frame1_treePostOrder_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_treePostOrder_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.treePostOrder_actionPerformed(e);
}
}
class Frame1_reset_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_reset_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.reset_actionPerformed(e);
}
}
class Frame1_auto_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_auto_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.auto_actionPerformed(e);
}
}
class Frame1_stop_actionAdapter
implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_stop_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.stop_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -