drawer.java

来自「The triangle language processor will be 」· Java 代码 · 共 62 行

JAVA
62
字号
/* * @(#)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 + =
减小字号Ctrl + -
显示快捷键?