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

📄 frame1.java~116~

📁 源程序(包括最初的版本
💻 JAVA~116~
📖 第 1 页 / 共 2 页
字号:
    drawTable.setTable(table);
    if (index < table.number) {
      drawTable.setCurrent(++index);
      drawTable.repaint();
    }
    if (index == table.number) { //重新开始
      index = -1;
      binaryTreePostOrder.setText("后序遍历");
      binaryTreePreOrder.setEnabled(true);
      binaryTreeInOrder.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("下一步");

    tree.preOrder(); //中序遍历
    table = tree.table;
    drawTable.setTable(table);
    if (index < table.number) {
      drawTable.setCurrent(++index);
      drawTable.repaint();
    }
    if (index == table.number) { //重新开始
      index = -1;
      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 = tree.table;
    drawTable.setTable(table);
    if (index < table.number) {
      drawTable.setCurrent(++index);
      drawTable.repaint();
    }
    if (index == table.number) { //重新开始
      index = -1;
      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.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 (autoThread == null){//如果当前自动演示线程为空
         //**************************************************
//按键之后创造一个新的Runnable给线程引用TheTraffic,来进行显示的有关操作
           Runnable begin = new Runnable() {
             public void run() { //必须声明catch InterruptedException e
               try {
                 for (int i = 0; i < table.number; i++) {//For..循环顺序显示灯
                    Thread.sleep(1000);
                     drawTable.setCurrent(i);
                     drawTable.repaint(); //重画
                   if (i == table.number)
                     i = 0;//循环演示
                 }
               }
               catch (InterruptedException e) {
                 return; //被打断则结束本线程。
               }
             }
           };
           autoThread = new Thread(begin); //将运行操作传给TheTraffic建立线程
           autoThread.start(); //线程开始工作
           auto.setText("pause");
           //auto.setToolTipText("按键中止交通灯工作");
           //button_Activate.setIcon(null);//去掉按钮图像
         }
         //************************endif**************************
          //***********************elseif***************************
         else if (auto.getText() == "pause"){//显示线程已经开始,再次按下暂停
           autoThread.suspend();//暂停
           //button_Activate.setIcon(buttonIcons[0]) ;//恢复按钮图像
           //button_Activate.setText("Activate");//恢复按钮文字
         }
          //***********************endelseif************************
         //************************else*****************************
         else{ //线程暂停中,再次按下继续运行
           autoThread.resume();//继续
           auto.setText("pause");//下一次操作为暂停按钮
           //button_Activate.setToolTipText("按键中止交通灯工作");
           //button_Activate.setIcon(null);//去掉按钮图标
         }
          //***********************endelse**************************
       }



  void stop_actionPerformed(ActionEvent e) {
    if (e.getActionCommand().equals("pause")) {
      now="pause";
      stop.setText("continue");


    }
    if (e.getActionCommand().equals("continue")) {
      now="continue";
      stop.setText("continue");//中断
     // autoThread.interrupt();
    }
  }

 /* public  void run() {
    //从最开始演示
    for (int i = 0; i < table.number; i++) {
      try {
        Thread.sleep(fps);
      }
      catch (InterruptedException ex1) {
        while(now.equals("pause")) {
          try {
            wait();
          }
          catch (InterruptedException ex) {
            //autoThread.notifyAll();
             return;
          }

        }
        while(now.equals("continue"))
          try {
            notifyAll();
          }
          catch (Exception ex2) {
          }
      }
     while(now.equals("pause")){
        try {
          autoThread.wait();
        }
        catch (InterruptedException ex) {
          autoThread.notifyAll();
        }


      drawTable.setCurrent(i);
      drawTable.repaint(); //重画

    }
    //从最遍历到的那个节点开始演示
     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 + -