Package com.ibm.icu.dev.demo.impl
Class DumbTextComponent
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Canvas
-
- com.ibm.icu.dev.demo.impl.DumbTextComponent
-
- All Implemented Interfaces:
java.awt.event.FocusListener
,java.awt.event.KeyListener
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
- Direct Known Subclasses:
TransliteratingTextComponent
public class DumbTextComponent extends java.awt.Canvas implements java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.FocusListener
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.Point
activePoint
private int
activeStart
private java.awt.Image
cacheImage
private java.awt.Point
caretPoint
private java.text.BreakIterator
charBreaker
private java.lang.String
contents
private static char
CR
private static boolean
DEBUG
private boolean
doubleClick
private boolean
editable
private java.awt.Point
endPoint
private java.awt.FontMetrics
fm
private boolean
focus
private int
lastHeight
private int
lastWidth
private int
lineAscent
private java.text.BreakIterator
lineBreaker
private int
lineCount
private int
lineHeight
private int
lineLeading
private int[]
lineStarts
private static int
MAX_LINES
private java.awt.Dimension
mySize
private boolean
pressed
private boolean
redoLines
private Selection
selection
private java.awt.event.ActionListener
selectionListener
private static long
serialVersionUID
For serializationprivate java.awt.Point
startPoint
private Selection
tempSelection
private java.awt.event.TextListener
textListener
private boolean
valid
private java.text.BreakIterator
wordBreaker
private int
xInset
private int
yInset
-
Constructor Summary
Constructors Constructor Description DumbTextComponent()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addActionListener(java.awt.event.ActionListener l)
void
addTextListener(java.awt.event.TextListener l)
(package private) void
copy()
void
drawSelection(java.awt.Graphics g, java.lang.String lastSubstring)
private int
findFittingBreak(java.awt.FontMetrics fMtr, java.lang.String line, int width, java.text.BreakIterator breaker)
LIU: Finds the longest substring that fits a given width composed of subunits returned by a BreakIterator.private int
findLine(int off, boolean start)
private void
fixHex()
private void
fixLineStarts(int width)
void
focusGained(java.awt.event.FocusEvent e)
void
focusLost(java.awt.event.FocusEvent e)
protected int
getKeyStart()
java.awt.Dimension
getMaximumSize()
java.awt.Dimension
getMinimumSize()
java.awt.Dimension
getPreferredSize()
int
getSelectionEnd()
int
getSelectionStart()
java.lang.String
getText()
protected void
handleKeyTyped(java.awt.event.KeyEvent e)
static java.lang.String
hex(char ch)
void
insertText(java.lang.String text)
boolean
isEditable()
void
keyPressed(java.awt.event.KeyEvent e)
void
keyReleased(java.awt.event.KeyEvent e)
void
keyTyped(java.awt.event.KeyEvent e)
private int
lineDelta(int off, int delta)
LIU: Given an offset into contents, moves up or down by lines, according to lineStarts[].void
mouseClicked(java.awt.event.MouseEvent e)
void
mouseDragged(java.awt.event.MouseEvent e)
void
mouseEntered(java.awt.event.MouseEvent e)
void
mouseExited(java.awt.event.MouseEvent e)
void
mouseMoved(java.awt.event.MouseEvent e)
void
mousePressed(java.awt.event.MouseEvent e)
void
mouseReleased(java.awt.event.MouseEvent e)
int
nextLine(java.awt.FontMetrics fMtr, int start, int width)
java.awt.Point
offset2Point(int off, boolean start, java.awt.Point p)
void
paint(java.awt.Graphics g)
void
paint2(java.awt.Graphics g)
(package private) void
paintRect(java.awt.Graphics g, int x, int y, int w, int h)
(package private) void
paste()
Selection
point2Offset(java.awt.Point p, Selection o)
void
removeActionListener(java.awt.event.ActionListener l)
void
removeTextListener(java.awt.event.TextListener l)
void
replaceRange(java.lang.String s, int start, int end)
void
select(int start, int end)
void
select(int start, int end, boolean clickAfter)
void
select(Selection newSelection)
void
select(java.awt.event.MouseEvent e, boolean first)
void
setBounds(int x, int y, int w, int h)
void
setEditable(boolean b)
void
setFont(java.awt.Font font)
protected void
setKeyStart(int keyStart)
void
setText(java.lang.String text)
void
setText2(java.lang.String text)
void
update(java.awt.Graphics g)
protected void
validateKeyStart()
int
visibleWidth(java.awt.FontMetrics fMtr, java.lang.String s)
-
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
For serialization- See Also:
- Constant Field Values
-
DEBUG
private static transient boolean DEBUG
-
contents
private java.lang.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 java.text.BreakIterator lineBreaker
-
wordBreaker
private transient java.text.BreakIterator wordBreaker
-
charBreaker
private transient java.text.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:
- Constant Field Values
-
lineStarts
private transient int[] lineStarts
-
lineCount
private transient int lineCount
-
valid
private transient boolean valid
-
fm
private transient java.awt.FontMetrics fm
-
redoLines
private transient boolean redoLines
-
doubleClick
private transient boolean doubleClick
-
textListener
private transient java.awt.event.TextListener textListener
-
selectionListener
private transient java.awt.event.ActionListener selectionListener
-
cacheImage
private transient java.awt.Image cacheImage
-
mySize
private transient java.awt.Dimension mySize
-
xInset
private transient int xInset
-
yInset
private transient int yInset
-
startPoint
private transient java.awt.Point startPoint
-
endPoint
private transient java.awt.Point endPoint
-
caretPoint
private transient java.awt.Point caretPoint
-
activePoint
private transient java.awt.Point activePoint
-
CR
private static final char CR
- See Also:
- Constant Field Values
-
pressed
private transient boolean pressed
-
-
Method Detail
-
addActionListener
public void addActionListener(java.awt.event.ActionListener l)
-
removeActionListener
public void removeActionListener(java.awt.event.ActionListener l)
-
addTextListener
public void addTextListener(java.awt.event.TextListener l)
-
removeTextListener
public void removeTextListener(java.awt.event.TextListener l)
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressed
in interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDragged
in interfacejava.awt.event.MouseMotionListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleased
in interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEntered
in interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExited
in interfacejava.awt.event.MouseListener
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClicked
in interfacejava.awt.event.MouseListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMoved
in interfacejava.awt.event.MouseMotionListener
-
focusGained
public void focusGained(java.awt.event.FocusEvent e)
- Specified by:
focusGained
in interfacejava.awt.event.FocusListener
-
focusLost
public void focusLost(java.awt.event.FocusEvent e)
- Specified by:
focusLost
in interfacejava.awt.event.FocusListener
-
select
public void select(java.awt.event.MouseEvent e, boolean first)
-
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)
- Specified by:
keyPressed
in interfacejava.awt.event.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 contentsdelta
- how many lines to move up (< 0) or down (> 0)- Returns:
- the new offset into contents
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent e)
- Specified by:
keyReleased
in interfacejava.awt.event.KeyListener
-
keyTyped
public void keyTyped(java.awt.event.KeyEvent e)
- Specified by:
keyTyped
in interfacejava.awt.event.KeyListener
-
handleKeyTyped
protected void handleKeyTyped(java.awt.event.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 classjava.awt.Component
-
getPreferredSize
public java.awt.Dimension getPreferredSize()
- Overrides:
getPreferredSize
in classjava.awt.Component
-
getMaximumSize
public java.awt.Dimension getMaximumSize()
- Overrides:
getMaximumSize
in classjava.awt.Component
-
getMinimumSize
public java.awt.Dimension getMinimumSize()
- Overrides:
getMinimumSize
in classjava.awt.Component
-
setText
public void setText(java.lang.String text)
-
setText2
public void setText2(java.lang.String text)
-
insertText
public void insertText(java.lang.String text)
-
replaceRange
public void replaceRange(java.lang.String s, int start, int end)
-
getText
public java.lang.String getText()
-
setFont
public void setFont(java.awt.Font font)
- Overrides:
setFont
in classjava.awt.Component
-
update
public void update(java.awt.Graphics g)
- Overrides:
update
in classjava.awt.Canvas
-
paint
public void paint(java.awt.Graphics g)
- Overrides:
paint
in classjava.awt.Canvas
-
paint2
public void paint2(java.awt.Graphics g)
-
paintRect
void paintRect(java.awt.Graphics g, int x, int y, int w, int h)
-
drawSelection
public void drawSelection(java.awt.Graphics g, java.lang.String lastSubstring)
-
offset2Point
public java.awt.Point offset2Point(int off, boolean start, java.awt.Point p)
-
findLine
private int findLine(int off, boolean start)
-
fixLineStarts
private void fixLineStarts(int width)
-
nextLine
public int nextLine(java.awt.FontMetrics fMtr, int start, int width)
-
findFittingBreak
private int findFittingBreak(java.awt.FontMetrics fMtr, java.lang.String line, int width, java.text.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 useline
- the string to be fix into widthwidth
- line.substring(0, result) must be <= widthbreaker
- 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(java.awt.FontMetrics fMtr, java.lang.String s)
-
fixHex
private void fixHex()
-
hex
public static java.lang.String hex(char ch)
-
-