📄 drawer.java
字号:
/* * @(#)Drawer.java 2.1 2003/10/07 * * Copyright (C) 1999, 2003 D.A. Watt and D.F. Brown * Dept. of Computing Science, University of Glasgow, Glasgow G12 8QQ Scotland * and School of Computer and Math Sciences, The Robert Gordon University, * St. Andrew Street, Aberdeen AB25 1HG, Scotland. * All rights reserved. * * This software is provided free for educational use only. It may * not be used for commercial purposes without the prior written permission * of the authors. */package Triangle.TreeDrawer;import java.awt.Dimension;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Point;import Triangle.AbstractSyntaxTrees.Program;public class Drawer { private DrawerFrame frame; private DrawerPanel panel; private Program theAST; private DrawingTree theDrawing; // Draw the AST representing a complete program. public void draw(Program ast) { theAST = ast; panel = new DrawerPanel(this); frame = new DrawerFrame(panel); Font font = new Font("SansSerif", Font.PLAIN, 12); frame.setFont(font); FontMetrics fontMetrics = frame.getFontMetrics(font); LayoutVisitor layout = new LayoutVisitor(fontMetrics); theDrawing = (DrawingTree) theAST.visit(layout, null); theDrawing.position(new Point(2048, 10)); frame.show(); } public void paintAST (Graphics g) { g.setColor(panel.getBackground()); Dimension d = panel.getSize(); g.fillRect(0, 0, d.width, d.height); if (theDrawing != null) { theDrawing.paint(g); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -