com.frinika.sequencer.gui
Class TimeSelector

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.frinika.sequencer.gui.TimeSelector
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class TimeSelector
extends javax.swing.JPanel

GUI-element for selecting a duration/amount of time. Depending on the format parameter passed to the constructor, different input mechanisms are used:

BAR_BEAT: a text-field displaying and parsing a "." string

BEAT_TICK: a text-field displaying and parsing a ":" string

BAR_BEAT_TICK: a text-field displaying and parsing a ".:" string

BEAT: a text-field displaying and parsing a numeric double-value representing a number of beats

NOTE_LENGTH: either a drop-down-list or a scrollable multi-line select-box for selecting lengths as beat-fractios, uas used with the specification of note lengths, e.g. "1/4", "1/8", "1/16", "1/8 .", "1/4 trio" etc. Use te constructor parameter multiLine to choose between drop-down-box and multi-line list-box.

Author:
Jens Gulden
See Also:
TimeUtils, Serialized Form

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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static double[] NOTE_LENGTH_FACTORS
           
static java.lang.String[] NOTE_LENGTH_NAMES
           
 
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
TimeSelector(long defaultTicks, boolean allowNegative, ProjectContainer project, TimeFormat format)
           
TimeSelector(long defaultTicks, ProjectContainer project, TimeFormat format)
           
TimeSelector(long defaultTicks, ProjectContainer project, TimeFormat format, boolean multiLine)
           
TimeSelector(ProjectContainer project)
           
TimeSelector(ProjectContainer project, TimeFormat format)
           
TimeSelector(ProjectContainer project, TimeFormat format, boolean multiLine)
           
TimeSelector(java.lang.String label, long defaultTicks, boolean allowNegative, ProjectContainer project, TimeFormat format)
           
TimeSelector(java.lang.String label, long defaultTicks, boolean allowNegative, ProjectContainer project, TimeFormat format, boolean multiLine)
           
TimeSelector(java.lang.String label, long defaultTicks, ProjectContainer project, TimeFormat format)
           
TimeSelector(java.lang.String label, long defaultTicks, ProjectContainer project, TimeFormat format, boolean multiLine)
           
TimeSelector(java.lang.String defaultStr, ProjectContainer project, TimeFormat format)
           
TimeSelector(java.lang.String defaultStr, ProjectContainer project, TimeFormat format, boolean multiLine)
           
TimeSelector(java.lang.String label, java.lang.String defaultStr, ProjectContainer project, TimeFormat format)
           
TimeSelector(java.lang.String label, java.lang.String defaultStr, ProjectContainer project, TimeFormat format, boolean multiLine)
           
 
Method Summary
 void addChangeListener(javax.swing.event.ChangeListener l)
           
 java.lang.String formatString(long ticks)
           
 java.lang.String getString()
           
 long getTicks()
           
 long parseString(java.lang.String s)
           
 void setString(java.lang.String s)
           
 void setTicks(long ticks)
           
 
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, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NOTE_LENGTH_NAMES

public static final java.lang.String[] NOTE_LENGTH_NAMES

NOTE_LENGTH_FACTORS

public static final double[] NOTE_LENGTH_FACTORS
Constructor Detail

TimeSelector

public TimeSelector(java.lang.String label,
                    long defaultTicks,
                    boolean allowNegative,
                    ProjectContainer project,
                    TimeFormat format,
                    boolean multiLine)

TimeSelector

public TimeSelector(java.lang.String label,
                    long defaultTicks,
                    ProjectContainer project,
                    TimeFormat format,
                    boolean multiLine)

TimeSelector

public TimeSelector(java.lang.String label,
                    long defaultTicks,
                    ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(java.lang.String label,
                    long defaultTicks,
                    boolean allowNegative,
                    ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(java.lang.String label,
                    java.lang.String defaultStr,
                    ProjectContainer project,
                    TimeFormat format,
                    boolean multiLine)

TimeSelector

public TimeSelector(java.lang.String label,
                    java.lang.String defaultStr,
                    ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(java.lang.String defaultStr,
                    ProjectContainer project,
                    TimeFormat format,
                    boolean multiLine)

TimeSelector

public TimeSelector(java.lang.String defaultStr,
                    ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(long defaultTicks,
                    ProjectContainer project,
                    TimeFormat format,
                    boolean multiLine)

TimeSelector

public TimeSelector(ProjectContainer project,
                    TimeFormat format,
                    boolean multiLine)

TimeSelector

public TimeSelector(long defaultTicks,
                    ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(long defaultTicks,
                    boolean allowNegative,
                    ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(ProjectContainer project,
                    TimeFormat format)

TimeSelector

public TimeSelector(ProjectContainer project)
Method Detail

addChangeListener

public void addChangeListener(javax.swing.event.ChangeListener l)

setTicks

public void setTicks(long ticks)

getTicks

public long getTicks()

setString

public void setString(java.lang.String s)

getString

public java.lang.String getString()

parseString

public long parseString(java.lang.String s)

formatString

public java.lang.String formatString(long ticks)