DESY ACOP Beans Home

com.cosylab.gui.components
Class ResizableTextField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JTextField
                      extended by com.cosylab.gui.components.ResizableTextField
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants
Direct Known Subclasses:
NumberField

public class ResizableTextField
extends javax.swing.JTextField

Descedant of JTextField that implements font resizing. When in resize mode, the field automatically adjusts its text font size to fit best into the space available. By default resizing is off.

Version:
$id$
Author:
Jernej Kamenik
See Also:
JTextField, Serialized Form

Nested Class Summary
protected  class ResizableTextField.ResizableComponentAdapter
          Listens for ComponentEvents and notifies text resizing if enabled.
protected  class ResizableTextField.ResizableKeyAdapter
          Listens for KeyEvents and resizes the text if enabled.
 
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ResizableTextField()
          Creates an empty resizable text field.
ResizableTextField(javax.swing.text.Document arg0, java.lang.String arg1, int arg2)
          Creates a resizable text field with document, text and specified number of columns.
ResizableTextField(int arg0)
          Creates a resizable text field with specified number of columns.
ResizableTextField(java.lang.String arg0)
          Creates a resizable text field with text.
ResizableTextField(java.lang.String arg0, int arg1)
          Creates a resizable text field with text and specified number of columns.
 
Method Summary
 java.awt.Dimension getMinimumSize()
          This method was overriden to implement font resizing.
 java.awt.Dimension getPreferredSize()
          This method was overloaded to implement font resizing.
 boolean isEnhanced()
          Returns the enhanced mode setting.
 boolean isResizable()
          Returns the resizable setting.
protected  void paintComponent(java.awt.Graphics g)
          This method hes been overriden to implement the feature of enhanced anti-aliasing paint of the text field.
protected  void resize()
          Adjusts the size of the font to the size of the text field.
 void setEnhanced(boolean newEnhanced)
          Sets the enhanced mode setting.
 void setFont(java.awt.Font f)
          This method was overriden to support resizing and user supplied fonts.
 void setMargin(java.awt.Insets margin)
          Bugfix for bug 4243496
 void setMinimumSize(java.awt.Dimension newMinimumSize)
          This method was overriden to implement font resizing.
 void setPreferredSize(java.awt.Dimension newPreferredSize)
          This method was overloaded to implement font resizing.
 void setResizable(boolean newResizable)
          Sets whether the ResizableTextField should adjust its font size according to the size of the component.
 void setText(java.lang.String text)
          This method was overloaded to implement font resizing.
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setNextFocusableComponent, setOpaque, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ResizableTextField

public ResizableTextField()
Creates an empty resizable text field.


ResizableTextField

public ResizableTextField(java.lang.String arg0)
Creates a resizable text field with text.

Parameters:
arg0 - String

ResizableTextField

public ResizableTextField(int arg0)
Creates a resizable text field with specified number of columns.

Parameters:
arg0 - int

ResizableTextField

public ResizableTextField(java.lang.String arg0,
                          int arg1)
Creates a resizable text field with text and specified number of columns.

Parameters:
arg0 - document to be used for parsing strings.
arg1 - int

ResizableTextField

public ResizableTextField(javax.swing.text.Document arg0,
                          java.lang.String arg1,
                          int arg2)
Creates a resizable text field with document, text and specified number of columns.

Parameters:
arg0 - document to be used for parsing strings.
arg1 - text
arg2 - number of columns
Method Detail

isResizable

public boolean isResizable()
Returns the resizable setting.

Returns:
boolean

setResizable

public void setResizable(boolean newResizable)
Sets whether the ResizableTextField should adjust its font size according to the size of the component.

Parameters:
newResizable - boolean

setEnhanced

public void setEnhanced(boolean newEnhanced)
Sets the enhanced mode setting. When true, the text field is painted with anti-aliasing rendering hints.

Parameters:
newEnhanced -

isEnhanced

public boolean isEnhanced()
Returns the enhanced mode setting.

Returns:
boolean

setMargin

public void setMargin(java.awt.Insets margin)
Bugfix for bug 4243496

Overrides:
setMargin in class javax.swing.text.JTextComponent
Parameters:
margin - Insets
See Also:
JTextComponent.setMargin(java.awt.Insets)

setText

public void setText(java.lang.String text)
This method was overloaded to implement font resizing.

Overrides:
setText in class javax.swing.text.JTextComponent
Parameters:
text - String
See Also:
JTextComponent.setText(String)

resize

protected void resize()
Adjusts the size of the font to the size of the text field. It is safe to call this method without checking if field is in fact resizable.


getPreferredSize

public java.awt.Dimension getPreferredSize()
This method was overloaded to implement font resizing.

Overrides:
getPreferredSize in class javax.swing.JTextField
Returns:
Dimension
See Also:
JTextField.getPreferredSize()

setPreferredSize

public void setPreferredSize(java.awt.Dimension newPreferredSize)
This method was overloaded to implement font resizing.

Overrides:
setPreferredSize in class javax.swing.JComponent
See Also:
JComponent.setPreferredSize(Dimension)

getMinimumSize

public java.awt.Dimension getMinimumSize()
This method was overriden to implement font resizing.

Overrides:
getMinimumSize in class javax.swing.JComponent
See Also:
Component.getMinimumSize()

setMinimumSize

public void setMinimumSize(java.awt.Dimension newMinimumSize)
This method was overriden to implement font resizing.

Overrides:
setMinimumSize in class javax.swing.JComponent
See Also:
JComponent.setMinimumSize(Dimension)

paintComponent

protected void paintComponent(java.awt.Graphics g)
This method hes been overriden to implement the feature of enhanced anti-aliasing paint of the text field.

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - Graphics
See Also:
JComponent.paintComponent(Graphics)

setFont

public void setFont(java.awt.Font f)
This method was overriden to support resizing and user supplied fonts. In resizable mode, this setting is ignored.

Overrides:
setFont in class javax.swing.JTextField
See Also:
Component.setFont(java.awt.Font)


Copyright © 2010. All Rights Reserved.