JIDE 3.5.15

com.jidesoft.filter
Class ValueEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.jidesoft.filter.ValueEditor
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class ValueEditor
extends JPanel

This is the component contained in the CustomFilterEditor. Each ValueEditor contains a combo box and a value label.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JComponent _comboBox
           
protected  ConverterContext _converterContext
           
protected  Class _dataType
           
protected  Object[] _possibleValues
           
protected  JLabel _valueLabel
           
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ValueEditor(Class dataType, ConverterContext converterContext, Object[] possibleValues)
          The constructor.
 
Method Summary
protected  DateComboBox createDateComboBoxButton()
          Creates the button to show the date chooser panel.
protected  void customizeValueEditor(JPanel panel, Class dataType, JComponent comboBox)
          Customizes the value editor with a component to make it value editing easier.
protected  String getResourceString(String key)
          Gets the resource string used in ValueEditor.
 Object getValue()
          Gets the value currently presented by the ValueEditor.
 String getValueInString()
          Gets the value currently presented by the ValueEditor.
protected  void initComponents()
          Initialize the child components inside the ValueEditor.
 boolean isLabelVisible()
          Gets the flag indicating if the value label is visible or not.
 void setDataType(Class dataType, ConverterContext converterContext)
          Sets the data type and the converter context.
 void setEditable(boolean editable)
          Configures if the _comboBox in the ValueEditor is editable.
 void setEnabled(boolean enabled)
           
 void setLabelVisible(boolean labelVisible)
          Sets the flag indicating if the value label is visible or not.
 void setLocale(Locale l)
           
 void setValue(Object value)
          Sets the ValueEditor's value.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, 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, addInputMethodListener, 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, getInputMethodRequests, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, 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
 

Field Detail

_dataType

protected Class _dataType

_converterContext

protected ConverterContext _converterContext

_possibleValues

protected Object[] _possibleValues

_comboBox

protected JComponent _comboBox

_valueLabel

protected JLabel _valueLabel
Constructor Detail

ValueEditor

public ValueEditor(Class dataType,
                   ConverterContext converterContext,
                   Object[] possibleValues)
The constructor.

Parameters:
dataType - the data type the ValueEditor works on
converterContext - the converter context
possibleValues - the possible values
Method Detail

setDataType

public void setDataType(Class dataType,
                        ConverterContext converterContext)
Sets the data type and the converter context.

Parameters:
dataType - the data type the ValueEditor works on
converterContext - the converter context

initComponents

protected void initComponents()
Initialize the child components inside the ValueEditor.


setEditable

public void setEditable(boolean editable)
Configures if the _comboBox in the ValueEditor is editable.

Parameters:
editable - the flag
Since:
3.3.6

setLocale

public void setLocale(Locale l)
Overrides:
setLocale in class Component

customizeValueEditor

protected void customizeValueEditor(JPanel panel,
                                    Class dataType,
                                    JComponent comboBox)
Customizes the value editor with a component to make it value editing easier. By default, we create a button-only DateComboBox and added to the BorderLayout.AFTER_LINE_ENDS of the panel. To make it easier for you to customize, here is our default code.
  if (dataType.isAssignableFrom(Date.class) || dataType.isAssignableFrom(Calendar.class)) {
       AbstractComboBox button = null;
       button = new DateComboBox() {
           public AbstractButton createButtonComponent() {
               JButton dateButton = new JButton(IconsFactory.getImageIcon(ValueEditor.class, "icons/date.png"));
               dateButton.setMargin(new Insets(3, 3, 3, 3));
               return dateButton;
           }
       };
       button.setButtonOnly(true);
       button.addItemListener(new ItemListener() {
           public void itemStateChanged(ItemEvent e) {
               if (e.getStateChange() == ItemEvent.SELECTED) {
                   Object selectedDate = e.getItem();
                   if (selectedDate instanceof Calendar && dataType.isAssignableFrom(Date.class)) {
                       comboBox.setSelectedItem(((Calendar) selectedDate).getTime());
                   }
                   else if (dataType.isAssignableFrom(Calendar.class)) {
                       comboBox.setSelectedItem(selectedDate);
                   }
               }
           }
       });
       panel.add(button, BorderLayout.AFTER_LINE_ENDS);
  }
 

Parameters:
panel - the panel.
dataType - the data type.
comboBox - the AbstractComboBox. This is either a ListComboBox or a CheckBoxListComboBox.

createDateComboBoxButton

protected DateComboBox createDateComboBoxButton()
Creates the button to show the date chooser panel.

Returns:
the DateComboBox instance.

isLabelVisible

public boolean isLabelVisible()
Gets the flag indicating if the value label is visible or not.

Returns:
true if the label is visible. Otherwise false.

setLabelVisible

public void setLabelVisible(boolean labelVisible)
Sets the flag indicating if the value label is visible or not.

By default, the value is true.

Parameters:
labelVisible - the flag

getValue

public Object getValue()
Gets the value currently presented by the ValueEditor.

Returns:
the value in the data type.

setValue

public void setValue(Object value)
Sets the ValueEditor's value.

Parameters:
value - the value

getValueInString

public String getValueInString()
Gets the value currently presented by the ValueEditor.

Returns:
the value in the String type.

getResourceString

protected String getResourceString(String key)
Gets the resource string used in ValueEditor. Subclass can override it to provide their own strings.

Parameters:
key - the resource key
Returns:
the localized string.

setEnabled

public void setEnabled(boolean enabled)
Overrides:
setEnabled in class JComponent

JIDE 3.5.15