1 23 24 package org.infoglue.cms.plugins.codeeditor; 25 26 import java.awt.Color ; 27 import java.awt.Dimension ; 28 import java.awt.Font ; 29 import java.awt.Graphics ; 30 import java.awt.Rectangle ; 31 import java.awt.Toolkit ; 32 33 import javax.swing.JComponent ; 34 35 public class Rule extends JComponent 36 { 37 public static final int INCH = Toolkit.getDefaultToolkit().getScreenResolution(); 38 public static final int HORIZONTAL = 0; 39 public static final int VERTICAL = 1; 40 public static final int SIZE = 30; 41 42 public int orientation; 43 public boolean isMetric; 44 private int increment; 45 private int units; 46 47 public Rule(int o, boolean m) 48 { 49 orientation = o; 50 isMetric = m; 51 setIncrementAndUnits(); 52 } 53 54 public void setIsMetric(boolean isMetric) 55 { 56 this.isMetric = isMetric; 57 setIncrementAndUnits(); 58 repaint(); 59 } 60 61 private void setIncrementAndUnits() 62 { 63 units = 17; 64 increment = units; 65 } 66 67 public boolean isMetric() 68 { 69 return this.isMetric; 70 } 71 72 public int getIncrement() 73 { 74 return increment; 75 } 76 77 public void setPreferredHeight(int ph) 78 { 79 setPreferredSize(new Dimension (SIZE, ph)); 80 } 81 82 public void setPreferredWidth(int pw) 83 { 84 setPreferredSize(new Dimension (pw, SIZE)); 85 } 86 87 public void paintComponent(Graphics g) 88 { 89 Rectangle drawHere = g.getClipBounds(); 90 91 g.setColor(new Color (128, 128, 128)); 93 g.fillRect(drawHere.x, drawHere.y, drawHere.width, drawHere.height); 94 95 g.setFont(new Font ("SansSerif", Font.PLAIN, 10)); 97 g.setColor(Color.black); 98 99 int paintPosition = -4; 100 101 for(int i=0; i<1000; i++) 102 { 103 g.drawString(Integer.toString(i), 1, paintPosition); 104 paintPosition += increment; 105 } 106 } 107 } 108 109 | Popular Tags |