📄 appdemo.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 + -