home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / PasswordView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.3 KB  |  110 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.FontMetrics;
  6. import java.awt.Graphics;
  7. import java.awt.Rectangle;
  8. import java.awt.Shape;
  9. import javax.swing.JPasswordField;
  10. import javax.swing.text.Position.Bias;
  11.  
  12. public class PasswordView extends FieldView {
  13.    static char[] ONE = new char[1];
  14.  
  15.    public PasswordView(Element var1) {
  16.       super(var1);
  17.    }
  18.  
  19.    protected int drawUnselectedText(Graphics var1, int var2, int var3, int var4, int var5) throws BadLocationException {
  20.       Container var6 = ((View)this).getContainer();
  21.       if (var6 instanceof JPasswordField) {
  22.          JPasswordField var7 = (JPasswordField)var6;
  23.          if (!var7.echoCharIsSet()) {
  24.             return super.drawUnselectedText(var1, var2, var3, var4, var5);
  25.          }
  26.  
  27.          var1.setColor(((Component)var7).getForeground());
  28.          char var8 = var7.getEchoChar();
  29.          int var9 = var5 - var4;
  30.  
  31.          for(int var10 = 0; var10 < var9; ++var10) {
  32.             var2 = this.drawEchoCharacter(var1, var2, var3, var8);
  33.          }
  34.       }
  35.  
  36.       return var2;
  37.    }
  38.  
  39.    protected int drawSelectedText(Graphics var1, int var2, int var3, int var4, int var5) throws BadLocationException {
  40.       var1.setColor(super.selected);
  41.       Container var6 = ((View)this).getContainer();
  42.       if (var6 instanceof JPasswordField) {
  43.          JPasswordField var7 = (JPasswordField)var6;
  44.          if (!var7.echoCharIsSet()) {
  45.             return super.drawSelectedText(var1, var2, var3, var4, var5);
  46.          }
  47.  
  48.          char var8 = var7.getEchoChar();
  49.          int var9 = var5 - var4;
  50.  
  51.          for(int var10 = 0; var10 < var9; ++var10) {
  52.             var2 = this.drawEchoCharacter(var1, var2, var3, var8);
  53.          }
  54.       }
  55.  
  56.       return var2;
  57.    }
  58.  
  59.    protected int drawEchoCharacter(Graphics var1, int var2, int var3, char var4) {
  60.       ONE[0] = var4;
  61.       var1.drawChars(ONE, 0, 1, var2, var3);
  62.       return var2 + var1.getFontMetrics().charWidth(var4);
  63.    }
  64.  
  65.    public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
  66.       Container var4 = ((View)this).getContainer();
  67.       if (var4 instanceof JPasswordField) {
  68.          JPasswordField var5 = (JPasswordField)var4;
  69.          if (!var5.echoCharIsSet()) {
  70.             return super.modelToView(var1, var2, var3);
  71.          } else {
  72.             char var6 = var5.getEchoChar();
  73.             FontMetrics var7 = ((Component)var5).getFontMetrics(((Component)var5).getFont());
  74.             Rectangle var8 = ((FieldView)this).adjustAllocation(var2).getBounds();
  75.             int var9 = (var1 - ((View)this).getStartOffset()) * var7.charWidth(var6);
  76.             var8.x += var9;
  77.             var8.width = 1;
  78.             return var8;
  79.          }
  80.       } else {
  81.          return null;
  82.       }
  83.    }
  84.  
  85.    public int viewToModel(float var1, float var2, Shape var3, Position.Bias[] var4) {
  86.       var4[0] = Bias.Forward;
  87.       int var5 = 0;
  88.       Container var6 = ((View)this).getContainer();
  89.       if (var6 instanceof JPasswordField) {
  90.          JPasswordField var7 = (JPasswordField)var6;
  91.          if (!var7.echoCharIsSet()) {
  92.             return super.viewToModel(var1, var2, var3, var4);
  93.          }
  94.  
  95.          char var8 = var7.getEchoChar();
  96.          FontMetrics var9 = ((Component)var7).getFontMetrics(((Component)var7).getFont());
  97.          var3 = ((FieldView)this).adjustAllocation(var3);
  98.          Rectangle var10 = var3 instanceof Rectangle ? (Rectangle)var3 : var3.getBounds();
  99.          var5 = ((int)var1 - var10.x) / var9.charWidth(var8);
  100.          if (var5 < 0) {
  101.             var5 = 0;
  102.          } else if (var5 > ((View)this).getStartOffset() + ((View)this).getDocument().getLength()) {
  103.             var5 = ((View)this).getDocument().getLength() - ((View)this).getStartOffset();
  104.          }
  105.       }
  106.  
  107.       return ((View)this).getStartOffset() + var5;
  108.    }
  109. }
  110.