home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / text / PasswordView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  1.5 KB  |  54 lines

  1. package com.sun.java.swing.text;
  2.  
  3. import com.sun.java.swing.JPasswordField;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Graphics;
  7.  
  8. public class PasswordView extends FieldView {
  9.    static char[] ONE = new char[1];
  10.  
  11.    public PasswordView(Element var1) {
  12.       super(var1);
  13.    }
  14.  
  15.    protected int drawUnselectedText(Graphics var1, int var2, int var3, int var4, int var5) throws BadLocationException {
  16.       Container var6 = ((View)this).getContainer();
  17.       if (var6 instanceof JPasswordField) {
  18.          JPasswordField var7 = (JPasswordField)var6;
  19.          var1.setColor(((Component)var7).getForeground());
  20.          char var8 = var7.getEchoChar();
  21.          int var9 = var5 - var4;
  22.  
  23.          for(int var10 = 0; var10 < var9; ++var10) {
  24.             var2 = this.drawEchoCharacter(var1, var2, var3, var8);
  25.          }
  26.       }
  27.  
  28.       return var2;
  29.    }
  30.  
  31.    protected int drawSelectedText(Graphics var1, int var2, int var3, int var4, int var5) throws BadLocationException {
  32.       var1.setColor(super.selected);
  33.       Container var6 = ((View)this).getContainer();
  34.       if (var6 instanceof JPasswordField) {
  35.          JPasswordField var7 = (JPasswordField)var6;
  36.          var1.setColor(((JTextComponent)var7).getSelectedTextColor());
  37.          char var8 = var7.getEchoChar();
  38.          int var9 = var5 - var4;
  39.  
  40.          for(int var10 = 0; var10 < var9; ++var10) {
  41.             var2 = this.drawEchoCharacter(var1, var2, var3, var8);
  42.          }
  43.       }
  44.  
  45.       return var2;
  46.    }
  47.  
  48.    protected int drawEchoCharacter(Graphics var1, int var2, int var3, char var4) {
  49.       ONE[0] = var4;
  50.       var1.drawChars(ONE, 0, 1, var2, var3);
  51.       return var2 + var1.getFontMetrics().charWidth(var4);
  52.    }
  53. }
  54.