jm.gui.cpn

## Class Stave

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Panel
      - - jm.gui.cpn.Stave

- All Implemented Interfaces:
    java.awt.event.KeyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, Alignments, DrumMap, Durations, Dynamics, Frequencies, Noises, Panning, Pitches, ProgramChanges, RhythmValues, Scales, Tunings, Volumes, Waveforms, JMC
  Direct Known Subclasses:
    BassStave, GrandStave, PianoStave, TrebleStave

      public abstract class Stave
      extends java.awt.Panel
      implements JMC, java.awt.event.KeyListener

  An AWT Component for displaying a Common Practice Notation stave.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.awt.Panel

      `java.awt.Panel.AccessibleAWTPanel`

    - ### 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
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `barNumbers`
    `protected java.awt.Image` | `bassClef`
    `int` | `beatWidth`
    `int` | `bPos`
    `int` | `clefWidth`
    `protected java.awt.Image` | `crotchetDown`
    `protected java.awt.Image` | `crotchetRest`
    `protected java.awt.Image` | `crotchetUp`
    `protected int` | `currBeatWidth`
    `protected java.awt.Image` | `currImage`
    `protected java.awt.Image` | `delete`
    `protected boolean` | `displayTitle`
    `protected java.awt.Image` | `dot`
    `protected boolean` | `dottedNote`
    `protected boolean` | `editable`
    `protected java.awt.Image` | `eight`
    `protected double` | `excessRhythmValue`
    `protected java.awt.Image` | `five`
    `protected java.awt.Image` | `flat`
    `protected int[]` | `flats`
    `protected java.awt.Font` | `font`
    `protected java.awt.Image` | `four`
    `protected java.awt.Graphics` | `g`
    `java.awt.Image` | `image`
    `int` | `imageHeightOffset`
    `protected boolean` | `isNote`
    `protected boolean` | `isUp`
    `protected int` | `keySignature`
    `int` | `keySigWidth`
    `protected int[]` | `lineNotes`
    `protected int` | `maxPitch`
    `protected double` | `metre`
    `protected java.awt.Image` | `minimDown`
    `protected java.awt.Image` | `minimRest`
    `protected java.awt.Image` | `minimUp`
    `protected int` | `minPitch`
    `protected java.awt.Image` | `natural`
    `protected java.awt.Image` | `nine`
    `java.util.Vector` | `notePositions`
    `protected int[]` | `notePosOffset`
    `protected java.awt.Image` | `one`
    `protected int` | `panelHeight`
    `protected Phrase` | `phrase`
    `protected java.util.Vector` | `previouslyChromatic`
    `protected boolean` | `qtOn`
    `protected java.awt.Image` | `quaverDown`
    `protected java.awt.Image` | `quaverRest`
    `protected java.awt.Image` | `quaverUp`
    `protected boolean` | `requiresMoreThanOneImage`
    `int` | `rightMargin`
    `protected java.awt.Image` | `semibreve`
    `protected java.awt.Image` | `semibreveRest`
    `protected java.awt.Image` | `semiquaverDown`
    `protected java.awt.Image` | `semiquaverRest`
    `protected java.awt.Image` | `semiquaverUp`
    `protected java.awt.Image` | `seven`
    `protected java.awt.Image` | `sharp`
    `protected int[]` | `sharps`
    `protected java.awt.Image` | `six`
    `protected int` | `spacingValue`
    `protected int` | `staveDelta`
    `int` | `staveSpaceHeight`
    `int` | `staveWidth`
    `protected java.awt.Image` | `three`
    `protected java.awt.Image` | `tieOver`
    `protected java.awt.Image` | `tieUnder`
    `int` | `timeSigWidth`
    `protected java.lang.String` | `title`
    `protected int` | `totalBeatWidth`
    `protected java.awt.Image` | `trebleClef`
    `protected java.awt.Image` | `two`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface jm.JMC

      `AMPLITUDE, DEBUG, DYNAMIC, EIGHT_BIT, FREQUENCY, KEY_SIG_EVT, MONO, NO_DENOMINATOR, NO_INSTRUMENT, NO_KEY_QUALITY, NO_KEY_SIGNATURE, NO_NUMERATOR, OCTAPHONIC, PAN, PITCH, PROG_EVT, QUADRAPHONIC, RHYTHM, SIXTEEN_BIT, STEREO, TEMP_EVT, THIRTY_TWO_BIT, TIME_SIG_EVT, VERBOSE`

    - ### Fields inherited from interface jm.constants.Durations

      `C, CD, CDD, CROTCHET, CROTCHET_TRIPLET, CT, DC, DDC, DDEN, DDHN, DDM, DDQ, DDQN, DEMI_SEMI_QUAVER, DEMI_SEMI_QUAVER_TRIPLET, DEN, DHN, DM, DOTTED_CROTCHET, DOTTED_EIGHTH_NOTE, DOTTED_HALF_NOTE, DOTTED_MINIM, DOTTED_QUARTER_NOTE, DOTTED_QUAVER, DOTTED_SEMI_QUAVER, DOTTED_SIXTEENTH_NOTE, DOUBLE_DOTTED_CROTCHET, DOUBLE_DOTTED_EIGHTH_NOTE, DOUBLE_DOTTED_HALF_NOTE, DOUBLE_DOTTED_MINIM, DOUBLE_DOTTED_QUARTER_NOTE, DOUBLE_DOTTED_QUAVER, DQ, DQN, DSN, DSQ, DSQT, EIGHTH_NOTE, EIGHTH_NOTE_TRIPLET, EN, ENT, HALF_NOTE, HALF_NOTE_TRIPLET, HN, HNT, M, MD, MDD, MINIM, MINIM_TRIPLET, MT, Q, QD, QDD, QN, QNT, QT, QUARTER_NOTE, QUARTER_NOTE_TRIPLET, QUAVER, QUAVER_TRIPLET, SB, SEMI_QUAVER, SEMI_QUAVER_TRIPLET, SEMIBREVE, SIXTEENTH_NOTE, SIXTEENTH_NOTE_TRIPLET, SN, SNT, SQ, SQD, SQT, THIRTYSECOND_NOTE, THIRTYSECOND_NOTE_TRIPLET, TN, TNT, TSN, TSNT, WHOLE_NOTE, WN`

    - ### Fields inherited from interface jm.constants.Pitches

      `a0, A0, a1, A1, a2, A2, a3, A3, a4, A4, a5, A5, a6, A6, a7, A7, a8, A8, af0, AF0, af1, AF1, af2, AF2, af3, AF3, af4, AF4, af5, AF5, af6, AF6, af7, AF7, af8, AF8, afn1, AFN1, an1, AN1, as0, AS0, as1, AS1, as2, AS2, as3, AS3, as4, AS4, as5, AS5, as6, AS6, as7, AS7, as8, AS8, asn1, ASN1, b0, B0, b1, B1, b2, B2, b3, B3, b4, B4, b5, B5, b6, B6, b7, B7, b8, B8, bf0, BF0, bf1, BF1, bf2, BF2, bf3, BF3, bf4, BF4, bf5, BF5, bf6, BF6, bf7, BF7, bf8, BF8, bfn1, BFN1, bn1, BN1, bs0, BS0, bs1, BS1, bs2, BS2, bs3, BS3, bs4, BS4, bs5, BS5, bs6, BS6, bs7, BS7, bs8, BS8, bsn1, BSN1, c0, C0, c1, C1, c2, C2, c3, C3, c4, C4, c5, C5, c6, C6, c7, C7, c8, C8, c9, C9, cf0, CF0, cf1, CF1, cf2, CF2, cf3, CF3, cf4, CF4, cf5, CF5, cf6, CF6, cf7, CF7, cf8, CF8, cf9, CF9, cn1, CN1, cs0, CS0, cs1, CS1, cs2, CS2, cs3, CS3, cs4, CS4, cs5, CS5, cs6, CS6, cs7, CS7, cs8, CS8, cs9, CS9, csn1, CSN1, d0, D0, d1, D1, d2, D2, d3, D3, d4, D4, d5, D5, d6, D6, d7, D7, d8, D8, d9, D9, df0, DF0, df1, DF1, df2, DF2, df3, DF3, df4, DF4, df5, DF5, df6, DF6, df7, DF7, df8, DF8, df9, DF9, dfn1, DFN1, dn1, DN1, ds0, DS0, ds1, DS1, ds2, DS2, ds3, DS3, ds4, DS4, ds5, DS5, ds6, DS6, ds7, DS7, ds8, DS8, ds9, DS9, dsn1, DSN1, e0, E0, e1, E1, e2, E2, e3, E3, e4, E4, e5, E5, e6, E6, e7, E7, e8, E8, e9, E9, ef0, EF0, ef1, EF1, ef2, EF2, ef3, EF3, ef4, EF4, ef5, EF5, ef6, EF6, ef7, EF7, ef8, EF8, ef9, EF9, efn1, EFN1, en1, EN1, es0, ES0, es1, ES1, es2, ES2, es3, ES3, es4, ES4, es5, ES5, es6, ES6, es7, ES7, es8, ES8, es9, ES9, esn1, ESN1, f0, F0, f1, F1, f2, F2, f3, F3, f4, F4, f5, F5, f6, F6, f7, F7, f8, F8, f9, F9, ff0, FF0, ff1, FF1, ff2, FF2, ff3, FF3, ff4, FF4, ff5, FF5, ff6, FF6, ff7, FF7, ff8, FF8, ff9, FF9, ffn1, FFN1, fn1, FN1, fs0, FS0, fs1, FS1, fs2, FS2, fs3, FS3, fs4, FS4, fs5, FS5, fs6, FS6, fs7, FS7, fs8, FS8, fs9, FS9, fsn1, FSN1, g0, G0, g1, G1, g2, G2, g3, G3, g4, G4, g5, G5, g6, G6, g7, G7, g8, G8, g9, G9, gf0, GF0, gf1, GF1, gf2, GF2, gf3, GF3, gf4, GF4, gf5, GF5, gf6, GF6, gf7, GF7, gf8, GF8, gf9, GF9, gfn1, GFN1, gn1, GN1, gs0, GS0, gs1, GS1, gs2, GS2, gs3, GS3, gs4, GS4, gs5, GS5, gs6, GS6, gs7, GS7, gs8, GS8, gsn1, GSN1, REST`

    - ### Fields inherited from interface jm.constants.Frequencies

      `FRQ`

    - ### Fields inherited from interface jm.constants.Tunings

      `EQUAL, JUST, MEAN, PYTHAGOREAN`

    - ### Fields inherited from interface jm.constants.Volumes

      `F, FF, FFF, FORTE, FORTISSIMO, MEZZO_FORTE, MEZZO_PIANO, MF, MP, P, PIANISSIMO, PP, PPP, SILENT`

    - ### Fields inherited from interface jm.constants.Panning

      `PAN_CENTER, PAN_CENTRE, PAN_LEFT, PAN_RIGHT`

    - ### Fields inherited from interface jm.constants.ProgramChanges

      `AAH, ABASS, AC_GUITAR, ACCORDION, ACOUSTIC_BASS, ACOUSTIC_GRAND, ACOUSTIC_GUITAR, AGOGO, AHHS, ALTO, ALTO_SAX, ALTO_SAXOPHONE, APPLAUSE, ATMOSPHERE, BAG_PIPES, BAGPIPE, BAGPIPES, BANDNEON, BANJO, BARI, BARI_SAX, BARITONE, BARITONE_SAX, BARITONE_SAXOPHONE, BASS, BASSOON, BELL, BELLS, BIRD, BOTTLE, BOTTLE_BLOW, BOWED_GLASS, BRASS, BREATH, BREATHNOISE, BRIGHT_ACOUSTIC, BRIGHTNESS, CALLOPE, CELESTA, CELESTE, CELLO, CGUITAR, CHARANG, CHIFFER, CHIFFER_LEAD, CHOIR, CHURCH_ORGAN, CLAR, CLARINET, CLAV, CLAVINET, CLEAN_GUITAR, CONCERTINA, CONTRA_BASS, CONTRABASS, CRYSTAL, CYMBAL, DGUITAR, DIST_GUITAR, DISTORTED_GUITAR, DOUBLE_BASS, DROPS, DRUM, DX_EPIANO, EBASS, ECHO, ECHO_DROP, ECHO_DROPS, ECHOS, EL_BASS, EL_GUITAR, ELECTRIC_BASS, ELECTRIC_GRAND, ELECTRIC_GUITAR, ELECTRIC_ORGAN, ELECTRIC_PIANO, ELPIANO, ENGLISH_HORN, EPIANO, EPIANO2, FANTASIA, FBASS, FIDDLE, FINGERED_BASS, FLUTE, FRENCH_HORN, FRET, FRET_NOISE, FRETLESS, FRETLESS_BASS, FRETNOISE, FRETS, GLOCK, GLOCKENSPIEL, GMSAW_WAVE, GMSQUARE_WAVE, GOBLIN, GT_HARMONICS, GUITAR, GUITAR_HARMONICS, GUNSHOT, HALO, HALO_PAD, HAMMOND_ORGAN, HARMONICA, HARMONICS, HARP, HARPSICHORD, HELICOPTER, HONKYTONK, HONKYTONK_PIANO, HORN, ICE_RAIN, ICERAIN, JAZZ_GUITAR, JAZZ_ORGAN, JGUITAR, KALIMBA, KOTO, MARIMBA, METAL_PAD, MGUITAR, MUSIC_BOX, MUTED_GUITAR, MUTED_TRUMPET, NGUITAR, NYLON_GUITAR, OBOE, OCARINA, OGUITAR, OOH, OOHS, ORCHESTRA_HIT, ORGAN, ORGAN2, ORGAN3, OVERDRIVE_GUITAR, PAD, PAN_FLUTE, PANFLUTE, PBASS, PHONE, PIANO, PIANO_ACCORDION, PIC, PICC, PICCOLO, PICKED_BASS, PIPE_ORGAN, PIPES, PITZ, PIZZ, PIZZICATO_STRINGS, POLY_SYNTH, POLYSYNTH, PSTRINGS, RAIN, RECORDER, REED_ORGAN, REVERSE_CYMBAL, RHODES, SAW, SAWTOOTH, SAX, SAXOPHONE, SBASS, SEA, SEASHORE, SFX, SGUITAR, SHAKUHACHI, SHAMISEN, SHANNAI, SITAR, SLAP, SLAP_BASS, SLAP_BASS_1, SLAP_BASS_2, SLOW_STRINGS, SOLO_VOX, SOP, SOPRANO, SOPRANO_SAX, SOPRANO_SAXOPHONE, SOUNDEFFECTS, SOUNDFX, SOUNDTRACK, SPACE_VOICE, SQUARE, STAR_THEME, STEEL_DRUM, STEEL_DRUMS, STEEL_GUITAR, STEELDRUM, STEELDRUMS, STR, STREAM, STRING_ENSEMBLE_1, STRING_ENSEMBLE_2, STRINGS, SWEEP, SWEEP_PAD, SYN_CALLIOPE, SYNTH_BASS, SYNTH_BASS_1, SYNTH_BASS_2, SYNTH_BRASS, SYNTH_BRASS_1, SYNTH_BRASS_2, SYNTH_CALLIOPE, SYNTH_DRUM, SYNTH_DRUMS, SYNTH_STRINGS, SYNTH_STRINGS_1, SYNTH_STRINGS_2, SYNVOX, TAIKO, TELEPHONE, TENOR, TENOR_SAX, TENOR_SAXOPHONE, THUMB_PIANO, THUNDER, TIMP, TIMPANI, TINKLE_BELL, TOM, TOM_TOM, TOM_TOMS, TOMS, TREMOLO, TREMOLO_STRINGS, TROMBONE, TRUMPET, TUBA, TUBULAR_BELL, TUBULAR_BELLS, VIBES, VIBRAPHONE, VIOLA, VIOLIN, VIOLIN_CELLO, VOICE, VOX, WARM_PAD, WHISTLE, WIND, WOODBLOCK, WOODBLOCKS, XYLOPHONE`

    - ### Fields inherited from interface jm.constants.DrumMap

      `ACOUSTIC_BASS_DRUM, ACOUSTIC_SNARE, BASS_DRUM_1, CABASA, CHINESE_CYMBAL, CLAVES, CLOSED_HI_HAT, COWBELL, CRASH_CYMBAL_1, CRASH_CYMBAL_2, ELECTRIC_SNARE, HAND_CLAP, HI_BONGO, HI_MID_TOM, HI_WOOD_BLOCK, HIGH_AGOGO, HIGH_FLOOR_TOM, HIGH_TIMBALE, HIGH_TOM, LONG_GUIRO, LONG_WHISTLE, LOW_AGOGO, LOW_BONGO, LOW_CONGA, LOW_FLOOR_TOM, LOW_MID_TOM, LOW_TIMBALE, LOW_TOM, LOW_WOOD_BLOCK, MARACAS, MUTE_CUICA, MUTE_HI_CONGA, MUTE_TRIANGLE, OPEN_CUICA, OPEN_HI_CONGA, OPEN_HI_HAT, OPEN_TRIANGLE, PEDAL_HI_HAT, RIDE_BELL, RIDE_CYMBAL_1, RIDE_CYMBAL_2, SHORT_GUIRO, SHORT_WHISTLE, SIDE_STICK, SPLASH_CYMBAL, TAMBOURINE, VIBRASLAP`

    - ### Fields inherited from interface jm.constants.Scales

      `AEOLIAN_SCALE, BLUES_SCALE, CHROMATIC_SCALE, DIATONIC_MINOR_SCALE, DORIAN_SCALE, HARMONIC_MINOR_SCALE, INDIAN_SCALE, LYDIAN_SCALE, MAJOR_SCALE, MELODIC_MINOR_SCALE, MINOR_SCALE, MIXOLYDIAN_SCALE, NATURAL_MINOR_SCALE, PENTATONIC_SCALE, TURKISH_SCALE`

    - ### Fields inherited from interface jm.constants.Waveforms

      `COSINE_WAVE, PULSE_WAVE, SABERSAW_WAVE, SAWDOWN_WAVE, SAWTOOTH_WAVE, SINE_WAVE, SQUARE_WAVE, TRIANGLE_WAVE`

    - ### Fields inherited from interface jm.constants.Noises

      `BROWN_NOISE, FRACTAL_NOISE, SMOOTH_NOISE, STEP_NOISE, WHITE_NOISE`

    - ### Fields inherited from interface jm.constants.Alignments

      `AFTER, BEFORE, CENTER_ALIGN, CENTER_ON_END, CENTER_ON_START, CENTRE_ALIGN, CENTRE_ON_END, CENTRE_ON_START, END_ON_CENTER, END_ON_CENTRE, END_TOGETHER, START_ON_CENTER, START_ON_CENTRE, START_TOGETHER`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Stave()` Constructs a new stave to display a blank Phrase using the default stave images.
    `Stave(Images images)` Constructs a new stave to display a blank Phrase using the specified stave `images`.
    `Stave(Phrase phrase)` Constructs a new stave to display the specified `phrase` using the default stave images.
    `Stave(Phrase phr, Images images)` Constructs a new stave to display the specified `phrase` using the specified stave `images`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Phrase` | `addRequiredRests(Phrase phrase)`
    `protected void` | `chooseImage(int pitch, double rhythmValue, int upPitch1, int downPitch, int upPitch2)`
    `void` | `deleteLastNote()` Remove the last note from the phrase
    `boolean` | `getBarNumbers()` Returns the current state of barNumber showing
    `boolean` | `getDisplayTitle()` Is the title displayed or not.
    `int` | `getKeySignature()` returns the current key signature for this Stave instance as a double
    `int` | `getMajorKey()` returns the current major key for this Stave instance as a integer 0 is C, 1 is C#/Db major, 2 is D major, etc
    `int` | `getMaxPitch()` returns the current maximum MIDI pitch number
    `double` | `getMetre()` returns the current metre for this Stave instance as a double
    `int` | `getMinPitch()` returns the current minimum MIDI pitch number
    `int` | `getPanelHeight()` Return the recommended height for this stave.
    `Phrase` | `getPhrase()` Returns the current Phrase of this Stave instance
    `java.awt.Dimension` | `getPreferredSize()` Called by outer containers
    `boolean` | `getQtOn()` Returns the current state of QuickTime Playback
    `java.lang.String` | `getTitle()` Returns the name for this Stave instance
    `int` | `getTotalBeatWidth()` Returns the current next note position in pixels
    `void` | `keyPressed(java.awt.event.KeyEvent e)`
    `void` | `keyReleased(java.awt.event.KeyEvent e)`
    `void` | `keyTyped(java.awt.event.KeyEvent e)`
    `void` | `paint(java.awt.Graphics graphics)`
    `void` | `removeTitle()` Emptys the name of this Stave instance
    `void` | `setBarNumbers(boolean show)` Decide to show bar numbers or not
    `void` | `setDisplayTitle(boolean value)` Show the title or not.
    `void` | `setEditable(boolean state)` Decide to allow stave to be editable or not
    `void` | `setKeySignature(int key)` Sets the current key signature for this Stave instance This effects the displayed key signature.
    `void` | `setMaxPitch(int max)` Decide the maxinum MIDI pitch number for this stave
    `void` | `setMetre(double timeSig)` Sets the current metre for this Stave instance This effects the displayed time signature.
    `void` | `setMinPitch(int min)` Decide the minimum MIDI pitch number for this stave
    `void` | `setPhrase(Phrase phr)` Sets the current Phrase for this Stave instance
    `void` | `setQtOn(boolean state)` Sets the current state of QuickTime
    `void` | `setTitle(java.lang.String title)` Sets the name for this Stave instance
    `void` | `setTotalBeatWidth(int width)` Sets the current width of the stave in pixels
    `void` | `update(java.awt.Graphics g)`
    `void` | `updateChange()` Called by stave action on mouseUp Can be overridden by extending classes to add functionality

    - ### Methods inherited from class java.awt.Panel

      `addNotify, getAccessibleContext`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, 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

    - #### requiresMoreThanOneImage

          protected boolean requiresMoreThanOneImage

    - #### excessRhythmValue

          protected double excessRhythmValue

    - #### isUp

          protected boolean isUp

    - #### isNote

          protected boolean isNote

    - #### image

          public java.awt.Image image

    - #### g

          protected java.awt.Graphics g

    - #### trebleClef

          protected java.awt.Image trebleClef

    - #### bassClef

          protected java.awt.Image bassClef

    - #### crotchetUp

          protected java.awt.Image crotchetUp

    - #### crotchetDown

          protected java.awt.Image crotchetDown

    - #### quaverDown

          protected java.awt.Image quaverDown

    - #### quaverUp

          protected java.awt.Image quaverUp

    - #### semiquaverDown

          protected java.awt.Image semiquaverDown

    - #### semiquaverUp

          protected java.awt.Image semiquaverUp

    - #### minimDown

          protected java.awt.Image minimDown

    - #### minimUp

          protected java.awt.Image minimUp

    - #### semibreve

          protected java.awt.Image semibreve

    - #### dot

          protected java.awt.Image dot

    - #### semiquaverRest

          protected java.awt.Image semiquaverRest

    - #### quaverRest

          protected java.awt.Image quaverRest

    - #### crotchetRest

          protected java.awt.Image crotchetRest

    - #### minimRest

          protected java.awt.Image minimRest

    - #### semibreveRest

          protected java.awt.Image semibreveRest

    - #### sharp

          protected java.awt.Image sharp

    - #### flat

          protected java.awt.Image flat

    - #### natural

          protected java.awt.Image natural

    - #### one

          protected java.awt.Image one

    - #### two

          protected java.awt.Image two

    - #### three

          protected java.awt.Image three

    - #### four

          protected java.awt.Image four

    - #### five

          protected java.awt.Image five

    - #### six

          protected java.awt.Image six

    - #### seven

          protected java.awt.Image seven

    - #### eight

          protected java.awt.Image eight

    - #### nine

          protected java.awt.Image nine

    - #### delete

          protected java.awt.Image delete

    - #### tieOver

          protected java.awt.Image tieOver

    - #### tieUnder

          protected java.awt.Image tieUnder

    - #### staveSpaceHeight

          public int staveSpaceHeight

    - #### rightMargin

          public int rightMargin

    - #### beatWidth

          public int beatWidth

    - #### staveWidth

          public int staveWidth

    - #### imageHeightOffset

          public int imageHeightOffset

    - #### clefWidth

          public int clefWidth

    - #### timeSigWidth

          public int timeSigWidth

    - #### keySigWidth

          public int keySigWidth

    - #### bPos

          public int bPos

    - #### phrase

          protected Phrase phrase

    - #### currImage

          protected java.awt.Image currImage

    - #### currBeatWidth

          protected int currBeatWidth

    - #### totalBeatWidth

          protected int totalBeatWidth

    - #### dottedNote

          protected boolean dottedNote

    - #### notePosOffset

          protected int[] notePosOffset

    - #### metre

          protected double metre

    - #### keySignature

          protected int keySignature

    - #### sharps

          protected int[] sharps

    - #### flats

          protected int[] flats

    - #### previouslyChromatic

          protected java.util.Vector previouslyChromatic

    - #### lineNotes

          protected int[] lineNotes

    - #### notePositions

          public java.util.Vector notePositions

    - #### maxPitch

          protected int maxPitch

    - #### minPitch

          protected int minPitch

    - #### title

          protected java.lang.String title

    - #### barNumbers

          protected boolean barNumbers

    - #### editable

          protected boolean editable

    - #### qtOn

          protected boolean qtOn

    - #### panelHeight

          protected int panelHeight

    - #### staveDelta

          protected int staveDelta

    - #### displayTitle

          protected boolean displayTitle

    - #### font

          protected java.awt.Font font

    - #### spacingValue

          protected int spacingValue

  - ### Constructor Detail

    - #### Stave

          public Stave()

      Constructs a new stave to display a blank Phrase using the default stave images.

    - #### Stave

          public Stave(Phrase phrase)

      Constructs a new stave to display the specified `phrase` using the default stave images.
      Parameters:
        `phrase` - Phrase to be displayed in stave

    - #### Stave

          public Stave(Images images)

      Constructs a new stave to display a blank Phrase using the specified stave `images`.
      Parameters:
        `images` - Images representing notes, rest and other stave elements to use within the compenent

    - #### Stave

          public Stave(Phrase phr,
               Images images)

      Constructs a new stave to display the specified `phrase` using the specified stave `images`.
      Parameters:
        `phrase` - Phrase to be displayed in stave
        `images` - Images representing notes, rest and other stave elements to use within the compenent

  - ### Method Detail

    - #### addRequiredRests

          public Phrase addRequiredRests(Phrase phrase)

    - #### setPhrase

          public void setPhrase(Phrase phr)

      Sets the current Phrase for this Stave instance
      Parameters:
        `Phrase` -

    - #### getPhrase

          public Phrase getPhrase()

      Returns the current Phrase of this Stave instance

    - #### setTitle

          public void setTitle(java.lang.String title)

      Sets the name for this Stave instance
      Parameters:
        `String` - Specify the title of the score

    - #### getTitle

          public java.lang.String getTitle()

      Returns the name for this Stave instance
      Returns:
        String The title of the score

    - #### removeTitle

          public void removeTitle()

      Emptys the name of this Stave instance

    - #### setDisplayTitle

          public void setDisplayTitle(boolean value)

      Show the title or not.
      Parameters:
        `value` - True or false

    - #### getDisplayTitle

          public boolean getDisplayTitle()

      Is the title displayed or not.
      Parameters:
        `value` - True or false

    - #### getPanelHeight

          public int getPanelHeight()

      Return the recommended height for this stave.

    - #### setMetre

          public void setMetre(double timeSig)

      Sets the current metre for this Stave instance This effects the displayed time signature. 4.0 = 4/4 etc.
      Parameters:
        `double` -

    - #### getMetre

          public double getMetre()

      returns the current metre for this Stave instance as a double

    - #### getMajorKey

          public int getMajorKey()

      returns the current major key for this Stave instance as a integer 0 is C, 1 is C#/Db major, 2 is D major, etc

    - #### setKeySignature

          public void setKeySignature(int key)

      Sets the current key signature for this Stave instance This effects the displayed key signature. 1 = F# etc. 0 is no key signature, + numbers for sharps, - numbers for flats
      Parameters:
        `int` -

    - #### getKeySignature

          public int getKeySignature()

      returns the current key signature for this Stave instance as a double

    - #### setBarNumbers

          public void setBarNumbers(boolean show)

      Decide to show bar numbers or not
      Parameters:
        `boolean` -

    - #### setEditable

          public void setEditable(boolean state)

      Decide to allow stave to be editable or not
      Parameters:
        `boolean` -

    - #### getMinPitch

          public int getMinPitch()

      returns the current minimum MIDI pitch number

    - #### setMinPitch

          public void setMinPitch(int min)

      Decide the minimum MIDI pitch number for this stave
      Parameters:
        `int` -

    - #### getMaxPitch

          public int getMaxPitch()

      returns the current maximum MIDI pitch number

    - #### setMaxPitch

          public void setMaxPitch(int max)

      Decide the maxinum MIDI pitch number for this stave
      Parameters:
        `int` -

    - #### getTotalBeatWidth

          public int getTotalBeatWidth()

      Returns the current next note position in pixels

    - #### setTotalBeatWidth

          public void setTotalBeatWidth(int width)

      Sets the current width of the stave in pixels
      Parameters:
        `int` -

    - #### getBarNumbers

          public boolean getBarNumbers()

      Returns the current state of barNumber showing

    - #### getPreferredSize

          public java.awt.Dimension getPreferredSize()

      Called by outer containers
      Overrides:
        `getPreferredSize` in class `java.awt.Container`

    - #### getQtOn

          public boolean getQtOn()

      Returns the current state of QuickTime Playback

    - #### setQtOn

          public void setQtOn(boolean state)

      Sets the current state of QuickTime
      Parameters:
        `boolean` -

    - #### updateChange

          public void updateChange()

      Called by stave action on mouseUp Can be overridden by extending classes to add functionality

    - #### update

          public void update(java.awt.Graphics g)

      Overrides:
        `update` in class `java.awt.Container`

    - #### paint

          public void paint(java.awt.Graphics graphics)

      Overrides:
        `paint` in class `java.awt.Container`

    - #### deleteLastNote

          public void deleteLastNote()

      Remove the last note from the phrase

    - #### chooseImage

          protected void chooseImage(int pitch,
                         double rhythmValue,
                         int upPitch1,
                         int downPitch,
                         int upPitch2)

    - #### keyPressed

          public void keyPressed(java.awt.event.KeyEvent e)

      Specified by:
        `keyPressed` in interface `java.awt.event.KeyListener`

    - #### keyReleased

          public void keyReleased(java.awt.event.KeyEvent e)

      Specified by:
        `keyReleased` in interface `java.awt.event.KeyListener`

    - #### keyTyped

          public void keyTyped(java.awt.event.KeyEvent e)

      Specified by:
        `keyTyped` in interface `java.awt.event.KeyListener`