home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / JTextComponent$ComposedTextCaret.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.5 KB  |  69 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.EventQueue;
  6. import java.awt.Graphics;
  7. import java.awt.Point;
  8. import java.awt.Rectangle;
  9. import java.awt.event.MouseEvent;
  10. import java.io.Serializable;
  11.  
  12. class JTextComponent$ComposedTextCaret extends DefaultCaret implements Serializable {
  13.    // $FF: renamed from: bg java.awt.Color
  14.    Color field_0;
  15.    // $FF: synthetic field
  16.    private final JTextComponent this$0;
  17.  
  18.    JTextComponent$ComposedTextCaret(JTextComponent var1) {
  19.       this.this$0 = var1;
  20.    }
  21.  
  22.    public void install(JTextComponent var1) {
  23.       super.install(var1);
  24.       Document var2 = var1.getDocument();
  25.       if (var2 instanceof StyledDocument) {
  26.          StyledDocument var3 = (StyledDocument)var2;
  27.          Element var4 = var3.getCharacterElement(JTextComponent.access$300(var1).getOffset());
  28.          AttributeSet var5 = var4.getAttributes();
  29.          this.field_0 = var3.getBackground(var5);
  30.       }
  31.  
  32.       if (this.field_0 == null) {
  33.          this.field_0 = ((Component)var1).getBackground();
  34.       }
  35.  
  36.    }
  37.  
  38.    public void paint(Graphics var1) {
  39.       if (((DefaultCaret)this).isVisible()) {
  40.          try {
  41.             Rectangle var2 = super.component.modelToView(((DefaultCaret)this).getDot());
  42.             var1.setXORMode(this.field_0);
  43.             var1.drawLine(var2.x, var2.y, var2.x, var2.y + var2.height - 1);
  44.             var1.setPaintMode();
  45.          } catch (BadLocationException var3) {
  46.          }
  47.       }
  48.  
  49.    }
  50.  
  51.    protected void positionCaret(MouseEvent var1) {
  52.       JTextComponent var2 = super.component;
  53.       Point var3 = new Point(var1.getX(), var1.getY());
  54.       int var4 = var2.viewToModel(var3);
  55.       if (var4 >= JTextComponent.access$300(var2).getOffset() && var4 <= JTextComponent.access$400(var2).getOffset()) {
  56.          super.positionCaret(var1);
  57.       } else {
  58.          try {
  59.             Position var5 = var2.getDocument().createPosition(var4);
  60.             ((Component)var2).getInputContext().endComposition();
  61.             EventQueue.invokeLater(new JTextComponent.DoSetCaretPosition(this.this$0, var2, var5));
  62.          } catch (BadLocationException var6) {
  63.             System.err.println(var6);
  64.          }
  65.       }
  66.  
  67.    }
  68. }
  69.