Class DumbTextComponent

java.lang.Object
java.awt.Component
java.awt.Canvas
com.ibm.icu.dev.demo.impl.DumbTextComponent
All Implemented Interfaces:
FocusListener, KeyListener, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
Direct Known Subclasses:
TransliteratingTextComponent

public class DumbTextComponent extends Canvas implements KeyListener, MouseListener, MouseMotionListener, FocusListener
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization
      See Also:
    • DEBUG

      private static transient boolean DEBUG
    • contents

      private String contents
    • selection

      private Selection selection
    • activeStart

      private int activeStart
    • editable

      private boolean editable
    • tempSelection

      private transient Selection tempSelection
    • focus

      private transient boolean focus
    • lineBreaker

      private transient BreakIterator lineBreaker
    • wordBreaker

      private transient BreakIterator wordBreaker
    • charBreaker

      private transient BreakIterator charBreaker
    • lineAscent

      private transient int lineAscent
    • lineHeight

      private transient int lineHeight
    • lineLeading

      private transient int lineLeading
    • lastHeight

      private transient int lastHeight
    • lastWidth

      private transient int lastWidth
    • MAX_LINES

      private static final int MAX_LINES
      See Also:
    • lineStarts

      private transient int[] lineStarts
    • lineCount

      private transient int lineCount
    • valid

      private transient boolean valid
    • fm

      private transient FontMetrics fm
    • redoLines

      private transient boolean redoLines
    • doubleClick

      private transient boolean doubleClick
    • textListener

      private transient TextListener textListener
    • selectionListener

      private transient ActionListener selectionListener
    • cacheImage

      private transient Image cacheImage
    • mySize

      private transient Dimension mySize
    • xInset

      private transient int xInset
    • yInset

      private transient int yInset
    • startPoint

      private transient Point startPoint
    • endPoint

      private transient Point endPoint
    • caretPoint

      private transient Point caretPoint
    • activePoint

      private transient Point activePoint
    • CR

      private static final char CR
      See Also:
    • pressed

      private transient boolean pressed
  • Constructor Details

    • DumbTextComponent

      public DumbTextComponent()
  • Method Details

    • addActionListener

      public void addActionListener(ActionListener l)
    • removeActionListener

      public void removeActionListener(ActionListener l)
    • addTextListener

      public void addTextListener(TextListener l)
    • removeTextListener

      public void removeTextListener(TextListener l)
    • mousePressed

      public void mousePressed(MouseEvent e)
      Specified by:
      mousePressed in interface MouseListener
    • mouseDragged

      public void mouseDragged(MouseEvent e)
      Specified by:
      mouseDragged in interface MouseMotionListener
    • mouseReleased

      public void mouseReleased(MouseEvent e)
      Specified by:
      mouseReleased in interface MouseListener
    • mouseEntered

      public void mouseEntered(MouseEvent e)
      Specified by:
      mouseEntered in interface MouseListener
    • mouseExited

      public void mouseExited(MouseEvent e)
      Specified by:
      mouseExited in interface MouseListener
    • mouseClicked

      public void mouseClicked(MouseEvent e)
      Specified by:
      mouseClicked in interface MouseListener
    • mouseMoved

      public void mouseMoved(MouseEvent e)
      Specified by:
      mouseMoved in interface MouseMotionListener
    • focusGained

      public void focusGained(FocusEvent e)
      Specified by:
      focusGained in interface FocusListener
    • focusLost

      public void focusLost(FocusEvent e)
      Specified by:
      focusLost in interface FocusListener
    • select

      public void select(MouseEvent e, boolean first)
    • keyPressed

      public void keyPressed(KeyEvent e)
      Specified by:
      keyPressed in interface KeyListener
    • copy

      void copy()
    • paste

      void paste()
    • lineDelta

      private int lineDelta(int off, int delta)
      LIU: Given an offset into contents, moves up or down by lines, according to lineStarts[].
      Parameters:
      off - the offset into contents
      delta - how many lines to move up (< 0) or down (> 0)
      Returns:
      the new offset into contents
    • keyReleased

      public void keyReleased(KeyEvent e)
      Specified by:
      keyReleased in interface KeyListener
    • keyTyped

      public void keyTyped(KeyEvent e)
      Specified by:
      keyTyped in interface KeyListener
    • handleKeyTyped

      protected void handleKeyTyped(KeyEvent e)
    • setKeyStart

      protected void setKeyStart(int keyStart)
    • validateKeyStart

      protected void validateKeyStart()
    • getKeyStart

      protected int getKeyStart()
    • setEditable

      public void setEditable(boolean b)
    • isEditable

      public boolean isEditable()
    • select

      public void select(Selection newSelection)
    • select

      public void select(int start, int end)
    • select

      public void select(int start, int end, boolean clickAfter)
    • getSelectionStart

      public int getSelectionStart()
    • getSelectionEnd

      public int getSelectionEnd()
    • setBounds

      public void setBounds(int x, int y, int w, int h)
      Overrides:
      setBounds in class Component
    • getPreferredSize

      public Dimension getPreferredSize()
      Overrides:
      getPreferredSize in class Component
    • getMaximumSize

      public Dimension getMaximumSize()
      Overrides:
      getMaximumSize in class Component
    • getMinimumSize

      public Dimension getMinimumSize()
      Overrides:
      getMinimumSize in class Component
    • setText

      public void setText(String text)
    • setText2

      public void setText2(String text)
    • insertText

      public void insertText(String text)
    • replaceRange

      public void replaceRange(String s, int start, int end)
    • getText

      public String getText()
    • setFont

      public void setFont(Font font)
      Overrides:
      setFont in class Component
    • update

      public void update(Graphics g)
      Overrides:
      update in class Canvas
    • paint

      public void paint(Graphics g)
      Overrides:
      paint in class Canvas
    • paint2

      public void paint2(Graphics g)
    • paintRect

      void paintRect(Graphics g, int x, int y, int w, int h)
    • drawSelection

      public void drawSelection(Graphics g, String lastSubstring)
    • offset2Point

      public Point offset2Point(int off, boolean start, Point p)
    • findLine

      private int findLine(int off, boolean start)
    • point2Offset

      public Selection point2Offset(Point p, Selection o)
    • fixLineStarts

      private void fixLineStarts(int width)
    • nextLine

      public int nextLine(FontMetrics fMtr, int start, int width)
    • findFittingBreak

      private int findFittingBreak(FontMetrics fMtr, String line, int width, BreakIterator breaker)
      LIU: Finds the longest substring that fits a given width composed of subunits returned by a BreakIterator. If the smallest subunit is too long, returns 0.
      Parameters:
      fMtr - metrics to use
      line - the string to be fix into width
      width - line.substring(0, result) must be <= width
      breaker - the BreakIterator that will be used to find subunits
      Returns:
      maximum characters, at boundaries returned by breaker, that fit into width, or zero on failure
    • visibleWidth

      public int visibleWidth(FontMetrics fMtr, String s)
    • fixHex

      private void fixHex()
    • hex

      public static String hex(char ch)