Class View.ClockPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
eu.bandm.music.applications.indisp.View.ClockPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable
- Enclosing class:
View
GUI class which shows the selected meter as a circle of events
and can mark the currently active event graphically.
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescription(package private) intIndex of the currently active event.(package private) IntegerFlag for the circumvention straight line.(package private) ImageBuffer for the clock image.(package private) RectangularShape[]Cache for the circles which correspond to the events.(package private) intMemorize to detect size change of the graphic.(package private) StringMemorize to detect state change of the graphics.(package private) intMemorize to detect size changes of the panel.(package private) intMemorize to detect size changes of the panel.(package private) intConvenience cache: Number of events = number of small circles.(package private) int[]Points to the first preceding event of higher weight.(package private) intRadius of the large circle.(package private) RectangularShape[]Cache for the circles which correspond to the events.(package private) boolean[]Flag whether the caches are valid.(package private) int[]Cache for the start position of the axis lines.(package private) int[]Cache for the start position of the axis lines.(package private) int[]Cache for the weights of the circle points.(package private) intCenter coordinate of the large circle.(package private) intCenter coordinate of the large circle.Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidcalcStartPoint(int i) Calculate the point where the tree-branch starts which leads to the circle which represents the metric position.(package private) voidRecalculate the shapes for all the event-representing circles and store them toshapes.(package private) voidRecalculate the center position and the size of the outer circle.(package private) voiddrawActive(Graphics2D gr) Draw only the filling of the active event and delete the filling of its (static) predecessor.(package private) voiddrawAll(Graphics2D gr) Draw completely: background fill, large circle, all event-representing circles, active event marked.voidCalled by change of JSlider "audible".(package private) voiddrawEvent(Graphics2D gr, int pos) (package private) voidvoidPaint method called by Swing runtime: Create new image if the size of the widget has changed and paint it completely.(package private) voidsetNsm()Set a new NSM and update the graphics and caches accordingly.(package private) voidshowPhase(int i) Show the change of the current phase in the graphics.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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUIMethods 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, validateTreeMethods 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, getAccessibleContext, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
points
int pointsConvenience cache: Number of events = number of small circles. -
shapes
RectangularShape[] shapesCache for the circles which correspond to the events. -
innerShapes
RectangularShape[] innerShapesCache for the circles which correspond to the events. -
weights
int[] weightsCache for the weights of the circle points. -
startX
int[] startXCache for the start position of the axis lines. -
startY
int[] startYCache for the start position of the axis lines. -
startDone
boolean[] startDoneFlag whether the caches are valid. -
circum
Integer circumFlag for the circumvention straight line. -
radius
int radiusRadius of the large circle. -
x
int xCenter coordinate of the large circle. -
y
int yCenter coordinate of the large circle. -
active
int activeIndex of the currently active event. Zero-based. Can initially be -1 for "none selected". -
predecs
int[] predecsPoints to the first preceding event of higher weight. Needed for tree painting. -
clockImage
Image clockImageBuffer for the clock image. -
oldClockFill
String oldClockFillMemorize to detect state change of the graphics. -
oldAudible
int oldAudibleMemorize to detect size change of the graphic. -
oldWidth
int oldWidthMemorize to detect size changes of the panel. -
oldHeight
int oldHeightMemorize to detect size changes of the panel.
-
-
Constructor Details
-
ClockPanel
ClockPanel()Only constructor.
-
-
Method Details
-
showPhase
void showPhase(int i) Show the change of the current phase in the graphics.- Parameters:
i- phase to show. Must be valid 0 <= i <points.
-
calculateSizeDependent
void calculateSizeDependent()Recalculate the center position and the size of the outer circle. -
findPredecs
void findPredecs() -
calcStartPoint
void calcStartPoint(int i) Calculate the point where the tree-branch starts which leads to the circle which represents the metric position. -
calculateMeterPoints
void calculateMeterPoints()Recalculate the shapes for all the event-representing circles and store them toshapes. Calculate the start points of the axis lines. -
drawAll
Draw completely: background fill, large circle, all event-representing circles, active event marked. -
drawAllPoints
Called by change of JSlider "audible". -
drawEvent
-
drawActive
Draw only the filling of the active event and delete the filling of its (static) predecessor. -
paint
Paint method called by Swing runtime: Create new image if the size of the widget has changed and paint it completely. Otherwise paint and clear only the active-event indication. Anyhow transfer the image buffer to the screen.- Overrides:
paintin classJComponent
-
setNsm
void setNsm()Set a new NSM and update the graphics and caches accordingly. An NSM object always represents a valid meter specification.
-