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

📄 drawer.java

📁 The triangle language processor will be consist of a compiler, an interpreter, and a disassembler
💻 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 + -