|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
jsky.util.gui.QuantitySlider
public class QuantitySlider
A Panel that blends editing a quantity or range of quantities by slider or straight data entry. Encorporates the default units display, and adds options change the max or Min value of the slider range
Behavior of the properties is modified. A propertyChanged is fired every time a statechange is recieved from the slider, OR a new value is enter in the text box. Since whenever the slider is "active" its valueIsChanging property is true. This component also fires of a last (Possibly redundant) propertyChange event after the slider stops moving (when valueIsChanging is no longer true.
Minor HACK is doing things this way, to force a propertyChange after the sliders stops, the PropertyChangeEvent has getOldValue() of NULL... the receiving listener needs to be aware that the value may not have really changed
NOTE currently works only with WHOLE numbers
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
javax.swing.JPanel.AccessibleJPanel |
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected javax.swing.border.TitledBorder |
fBorder
|
protected boolean |
fIsBordered
|
protected javax.swing.JLabel |
fLabelTitle
|
protected boolean |
fShowExtent
|
protected java.lang.String |
fTitle
|
static java.lang.String |
MAXQUANTITY_PROPERTY
|
static java.lang.String |
MINQUANTITY_PROPERTY
|
static java.lang.String |
QUANTITY_PROPERTY
|
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 | |
---|---|
QuantitySlider()
Build a default bordered Quantity Slider editing a single value |
|
QuantitySlider(int orient,
Quantity minQ,
Quantity maxQ,
Quantity scaleMin,
Quantity scaleMax,
java.lang.String title,
boolean borderOn)
Create a bordered Quantity Slider, editing a range and a specified min/max to the scale This constructor lets you set VERTICAL or HORIZONTAL for the orientation |
|
QuantitySlider(int orient,
Quantity inMinQ,
Quantity inMaxQ,
Quantity scaleMin,
Quantity scaleMax,
java.lang.String title,
boolean borderOn,
boolean showExtent)
Fully qualified constructor |
|
QuantitySlider(int orient,
Quantity inQ,
Quantity scaleMin,
Quantity scaleMax,
java.lang.String title,
boolean borderOn)
Create a bordered Quantity Slider, with one edited value and a specified min/max to the scale This constructor lets you set VERTICAL or HORIZONTAL for the orientation |
|
QuantitySlider(Quantity inQ,
Quantity scaleMin,
Quantity scaleMax,
java.lang.String title)
Create a bordered Quantity Slider, with one edited value and a specified min/max to the scale |
Method Summary | |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent event)
|
Quantity |
getExtent()
|
Quantity |
getQuantity()
|
boolean |
getValueIsAdjusting()
passes through the valueIsAdjusting property of the slide, let event recipients decide whether or not they want to deal with these events |
boolean |
isMaximumChangeable()
returns true if end-user can change the maximum value on the slider |
boolean |
isMinimumChangeable()
returns true if end-user can change the minimum value on the slider |
static void |
main(java.lang.String[] args)
|
void |
mouseClicked(java.awt.event.MouseEvent e)
|
void |
mouseEntered(java.awt.event.MouseEvent e)
|
void |
mouseExited(java.awt.event.MouseEvent e)
|
void |
mousePressed(java.awt.event.MouseEvent e)
|
void |
mouseReleased(java.awt.event.MouseEvent e)
|
double |
popupQuantityRequest(java.lang.String title,
java.lang.String message)
|
void |
propertyChange(java.beans.PropertyChangeEvent event)
|
void |
setMaximumChangeable(boolean b)
sets whether or not the user can change the maximum slider value. |
void |
setMaxQuantity(Quantity inQ)
sets the current Max quantity of the range |
void |
setMinimumChangeable(boolean b)
sets whether or not the user can change the minimum slider value. |
void |
setMinQuantity(Quantity inQ)
sets the current min quantity of the range |
void |
setQuantity(Quantity inQ)
Deprecated. use setMinQuantity instead |
void |
setScaleMaximum(int m)
sets the maximum range scale |
void |
setScaleMinimum(int m)
sets the minimum range scale |
void |
setSliderDelay(int delay)
sets the length (in milleseconds) of time after the user stops adjusting the slider that a "final" propertyChange event is fired. |
void |
stateChanged(javax.swing.event.ChangeEvent event)
|
protected void |
updateScaleMinMax(int newvalue)
|
protected void |
updateTitle()
|
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, 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, 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, setEnabled, 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, 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 |
Field Detail |
---|
public static final java.lang.String MINQUANTITY_PROPERTY
public static final java.lang.String MAXQUANTITY_PROPERTY
public static final java.lang.String QUANTITY_PROPERTY
protected boolean fIsBordered
protected java.lang.String fTitle
protected javax.swing.JLabel fLabelTitle
protected javax.swing.border.TitledBorder fBorder
protected boolean fShowExtent
Constructor Detail |
---|
public QuantitySlider()
public QuantitySlider(Quantity inQ, Quantity scaleMin, Quantity scaleMax, java.lang.String title)
inQ
- the current Quantity valuescaleMin
- the minimum allowable Quantity valuescaleMax
- the maximum allowable Quantity valuetitle
- the optional title to be displayed, can be null for no titlepublic QuantitySlider(int orient, Quantity inQ, Quantity scaleMin, Quantity scaleMax, java.lang.String title, boolean borderOn)
orient
- the orientation of the slider (JSlider.VERTICAL or HORIZONTAL)inQ
- the current Quantity valuescaleMin
- the minimum allowable Quantity valuescaleMax
- the maximum allowable Quantity valuetitle
- the optional title to be displayed, can be null for no titleborderOn
- When true, a labeled border will be displayed. Requires more vertical spacepublic QuantitySlider(int orient, Quantity minQ, Quantity maxQ, Quantity scaleMin, Quantity scaleMax, java.lang.String title, boolean borderOn)
orient
- the orientation of the slider (JSlider.VERTICAL or HORIZONTAL)minQ
- the "left" edge of the editing rangemaxQ
- the "right" edge of the editing rangescaleMin
- the minimum allowable Quantity valuescaleMax
- the maximum allowable Quantity valuetitle
- the optional title to be displayed, can be null for no titleborderOn
- When true, a labeled border will be displayed. Requires more vertical spacepublic QuantitySlider(int orient, Quantity inMinQ, Quantity inMaxQ, Quantity scaleMin, Quantity scaleMax, java.lang.String title, boolean borderOn, boolean showExtent)
orient
- the orientation of the slider (JSlider.VERTICAL or HORIZONTAL)inMinQ
- the "left" edge of the editing rangeinMaxQ
- the "right" edge of the editing rangescaleMin
- the minimum allowable Quantity valuescaleMax
- the maximum allowable Quantity valuetitle
- the optional title to be displayed, can be null for no titleborderOn
- When true, a labeled border will be displayed. Requires more vertical spaceshowExtent
- When true, will display and manage the 2nd right hand pointer marking the right edge of the rangeMethod Detail |
---|
protected void updateTitle()
public void setSliderDelay(int delay)
public boolean isMinimumChangeable()
public boolean isMaximumChangeable()
public void setMinimumChangeable(boolean b)
public void setMaximumChangeable(boolean b)
public Quantity getQuantity()
public Quantity getExtent()
public boolean getValueIsAdjusting()
public void stateChanged(javax.swing.event.ChangeEvent event)
stateChanged
in interface javax.swing.event.ChangeListener
public void propertyChange(java.beans.PropertyChangeEvent event)
propertyChange
in interface java.beans.PropertyChangeListener
public void actionPerformed(java.awt.event.ActionEvent event)
actionPerformed
in interface java.awt.event.ActionListener
public double popupQuantityRequest(java.lang.String title, java.lang.String message)
public void setScaleMinimum(int m)
public void setScaleMaximum(int m)
public void setQuantity(Quantity inQ)
public void setMinQuantity(Quantity inQ)
public void setMaxQuantity(Quantity inQ)
protected void updateScaleMinMax(int newvalue)
public static void main(java.lang.String[] args)
public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
public void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
public void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
public void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |