📄 astframe.java
字号:
package antlr_oaa.debug.misc;
/* ANTLR Translator Generator
* Project led by Terence Parr at http://www.jGuru.com
* Software rights: http://www.antlr.org/RIGHTS.html
*
* $Id: ASTFrame.java,v 1.1 2002/11/08 17:37:01 agno Exp $
*/
import antlr_oaa.*;
import antlr_oaa.collections.AST;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
public class ASTFrame extends JFrame {
// The initial width and height of the frame
static final int WIDTH = 200;
static final int HEIGHT = 300;
class MyTreeSelectionListener
implements TreeSelectionListener {
public void valueChanged (TreeSelectionEvent event) {
TreePath path = event.getPath();
System.out.println ("Selected: " +
path.getLastPathComponent());
Object elements[] = path.getPath();
for (int i=0; i<elements.length; i++) {
System.out.print ("->" + elements[i]);
}
System.out.println ();
}
}
public ASTFrame(String lab, AST r) {
super(lab);
// Create the TreeSelectionListener
TreeSelectionListener listener = new MyTreeSelectionListener();
JTreeASTPanel tp = new JTreeASTPanel(new JTreeASTModel(r), null);
Container content = getContentPane();
content.add(tp, BorderLayout.CENTER);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Frame f = (Frame) e.getSource();
f.setVisible(false);
f.dispose();
// System.exit(0);
}
});
setSize(WIDTH, HEIGHT);
}
public static void main(String args[]) {
// Create the tree nodes
ASTFactory factory = new ASTFactory();
CommonAST r = (CommonAST)factory.create(0, "ROOT");
r.addChild((CommonAST)factory.create(0, "C1"));
r.addChild((CommonAST)factory.create(0, "C2"));
r.addChild((CommonAST)factory.create(0, "C3"));
ASTFrame frame = new ASTFrame("AST JTree Example", r);
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -