home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / WDESAMPL.BIN / SymbolCanvas.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-02-25  |  1.5 KB  |  55 lines

  1. import java.awt.Canvas;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Font;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Toolkit;
  8.  
  9. class SymbolCanvas extends Canvas {
  10.    Font font;
  11.    int charHeight;
  12.    int charWidth;
  13.    int charBase;
  14.  
  15.    public SymbolCanvas(Font var1, int var2) {
  16.       FontMetrics var3 = Toolkit.getDefaultToolkit().getFontMetrics(var1);
  17.       this.charHeight = var3.getHeight() + 3;
  18.       this.charWidth = var3.getMaxAdvance() + 4;
  19.       this.charBase = var2;
  20.       ((Component)this).setSize(this.charWidth * 16 + 60, this.charHeight * 16 + 10);
  21.    }
  22.  
  23.    public void setBase(int var1) {
  24.       this.charBase = var1;
  25.       ((Component)this).repaint();
  26.    }
  27.  
  28.    public void setFont(Font var1) {
  29.       this.font = var1;
  30.       ((Component)this).repaint();
  31.    }
  32.  
  33.    public void paint(Graphics var1) {
  34.       var1.setFont(this.font);
  35.       var1.setColor(Color.black);
  36.       char[] var2 = new char[1];
  37.       int var3 = this.charBase;
  38.       int var4 = 20;
  39.  
  40.       for(int var5 = 0; var5 < 16; ++var5) {
  41.          var1.drawString(Integer.toHexString(var3), 10, var4);
  42.          int var6 = 60;
  43.  
  44.          for(int var7 = 0; var7 < 16; ++var7) {
  45.             var2[0] = (char)(var3++);
  46.             var1.drawChars(var2, 0, 1, var6, var4);
  47.             var6 += this.charWidth;
  48.          }
  49.  
  50.          var4 += this.charHeight;
  51.       }
  52.  
  53.    }
  54. }
  55.