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

📄 appdemo.java

📁 源程序(包括最初的版本
💻 JAVA
字号:
package App;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 2.0(2005.7.5)加入图形界面
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.border.*;

public class AppDemo
    extends JFrame
    implements ActionListener, ChangeListener {

  //绘图组件
  private JButton preTravel = new JButton("先根遍历"); //先根按钮
  private JButton poseTravel = new JButton("后根遍历"); //后根按钮
  private JTextField text = new JTextField(40); //文本输入
  private JSlider slider_FPS = new JSlider(JSlider.HORIZONTAL, 1, 30, 20); //滑块
  private JRadioButton handInput = new JRadioButton("手动输入");
  private JRadioButton fieldInput = new JRadioButton("导入文件");
  private JPanel control = new JPanel(); //控制选择区
  private JPanel inPut = new JPanel(); //输入区
  private JPanel controlAndinput = new JPanel();
  //private Container workPad;
  private DrawPanel drawPanel=new DrawPanel(); //绘图板
  //数据对象
  Table table; //表格数据,记录了节点的坐标等信息
  Tree tree; //树

  public AppDemo() {
    //初始化
    table = new Table();
    tree = new Tree();
    //drawPanel=new DrawPanel(table);

    //框架
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(680, 580);
    //preTravel.setSize(600,400);
    this.setVisible(true);

    //Tips
    preTravel.setToolTipText("演示树的先根遍历");
    poseTravel.setToolTipText("演示树的后根遍历");
    slider_FPS.setToolTipText("控制演示速度");

    //控制按钮
    control.setLayout(new FlowLayout());
    control.add(preTravel);
    control.add(poseTravel);
    control.add(slider_FPS);

    //输入按钮
    inPut.setLayout(new FlowLayout());
    inPut.add(handInput);
    inPut.add(fieldInput);
    inPut.add(text);

    controlAndinput.setLayout(new GridLayout(2, 1));
    controlAndinput.add(inPut);
    controlAndinput.add(control);

    Container workPad = this.getContentPane();
    workPad.setLayout(new BorderLayout(5, 5));
    workPad.add(controlAndinput, BorderLayout.NORTH);
    //workPad.add(text,BorderLayout.NORTH);
    //workPad.add(function,BorderLayout.NORTH);
    //workPad.add(control,BorderLayout.CENTER);
    workPad.add(drawPanel, BorderLayout.CENTER);
    //workPad.add(shunXu,BorderLayout.SOUTH);
    //this.pack();

    //监听
    preTravel.addActionListener(this);
    poseTravel.addActionListener(this);
    text.addActionListener(this);
    slider_FPS.addChangeListener(this);
  }

  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == text) {
      String s = new String();
      s = text.getText();
      tree.creatTree(s);
      table = tree.table;
      drawPanel.setTable(table);
      drawPanel.repaint();
      //drawPanel=new DrawPanel(table);
      //workPad.add(drawPanel,BorderLayout.CENTER);
    }
    if (e.getSource() == preTravel) {
      tree.postOrder();

    }
    if (e.getSource() == poseTravel) {

    }

  }

  public void stateChanged(ChangeEvent e) {

  }

  public static void main(String args[]) {
    AppDemo draw = new AppDemo();
    draw.show();
  }

}

⌨️ 快捷键说明

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