RNAstructure_java_interface.source.windows

## Class SequenceDisplayWindow

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JInternalFrame
        - - RNAstructure_java_interface.source.windows.InternalWindow
          - - RNAstructure_java_interface.source.windows.SequenceDisplayWindow

All Implemented Interfaces:
  ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

    public class SequenceDisplayWindow
    extends InternalWindow

A class responsible for displaying a window that allows a user to examine raw sequence data.
Note that this class violates the usual 500 line class length coding standard limit. This is because this window class contains menus unique to itself and a variety of unique window actions. For the sake of organization and clarity it is best to put all these together in one class.

See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`private class` `SequenceDisplayWindow.EditMenu` An inner class that creates a sequence editing menu.
`private class` `SequenceDisplayWindow.ReadMenu` An inner class that creates a sequence reading menu.

### Nested classes/interfaces inherited from class javax.swing.JInternalFrame

`JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIcon`

### 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

Fields
`private ArrayList<JTextArea>` `areas` The array of text areas in this window.
`private boolean` `edited` A boolean, true if the sequence has been edited, false if not.
`private int` `position` The position at which reading is occurring.
`private JButton` `readButton` The button which can be clicked to start or stop reading.
`private boolean` `reading` A boolean, true if reading while typing is active, false if not.
`private static long` `serialVersionUID`
`private Timer` `timer` The timer that aids in reading nucleotides in rhythm.

### Fields inherited from class RNAstructure_java_interface.source.windows.InternalWindow

`backend, dialogHandler, menuBar`

### Fields inherited from class javax.swing.JInternalFrame

`closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_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 javax.swing.WindowConstants

`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

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

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

### Constructor Summary

Constructors
Constructor and Description
`SequenceDisplayWindow()` Default Constructor.
`SequenceDisplayWindow(String file)` File Constructor.

### Method Summary

Methods
`private JPanel` `buildButtonPanel()` Make the button panel at the bottom of the window.
`private JPanel` `buildInputRegion(int height, String text)` Build a text input region for this window.
`protected void` `doActions(String command)` Do any actions specific to this window.
`private void` `formatSequence()` Format the sequence in the text area.
`private JTextArea` `getArea(int index)` Get a text area from this window.
`private void` `playClip(char base)` Play a sound clip, depending on the nucleotide.
`String` `saveSequence()` Save a sequence.
`String` `saveSequence(String file)` Save a sequence.
`protected RolloverMenu[]` `setMenus()` Create the array of variable menus used by this window.
`void` `setReading(boolean isReading)` Set whether or not the window should be reading while typing.

### Methods inherited from class RNAstructure_java_interface.source.windows.InternalWindow

`actionPerformed, setTitles, viewWindow`

### Methods inherited from class javax.swing.JInternalFrame

`addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, 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, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, 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, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, 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

#### areas

    private ArrayList<JTextArea> areas

The array of text areas in this window.

#### edited

    private boolean edited

A boolean, true if the sequence has been edited, false if not.

#### position

    private int position

The position at which reading is occurring.

#### readButton

    private JButton readButton

The button which can be clicked to start or stop reading.

#### reading

    private boolean reading

A boolean, true if reading while typing is active, false if not.

#### serialVersionUID

    private static final long serialVersionUID

See Also:
  Constant Field Values

#### timer

    private Timer timer

The timer that aids in reading nucleotides in rhythm.

### Constructor Detail

#### SequenceDisplayWindow

    public SequenceDisplayWindow()

Default Constructor.
This constructor is used when a blank display window is opened.

#### SequenceDisplayWindow

    public SequenceDisplayWindow(String file)

File Constructor.
This constructor is used when a sequence file is specified.

Parameters:
  `file` - The sequence file to open.

### Method Detail

#### buildButtonPanel

    private JPanel buildButtonPanel()

Make the button panel at the bottom of the window.

Returns:
  The button panel.

#### buildInputRegion

    private JPanel buildInputRegion(int height,
                          String text)

Build a text input region for this window. Each region is a panel consisting of a label and a text component.

Parameters:
  `height` - The height of the input region.
  `text` - The label text.
Returns:
  The input region panel.

#### doActions

    protected void doActions(String command)

Description copied from class: `InternalWindow`
Do any actions specific to this window.

Specified by:
  `doActions` in class `InternalWindow`
Parameters:
  `command` - The command that signifies a particular action.

#### formatSequence

    private void formatSequence()

Format the sequence in the text area.

#### getArea

    private JTextArea getArea(int index)

Get a text area from this window.

Parameters:
  `index` - The index of the area to retrieve, one-indexed.
Returns:
  The text area.

#### playClip

    private void playClip(char base)

Play a sound clip, depending on the nucleotide.

Parameters:
  `base` - The nucleotide to play.

#### saveSequence

    public String saveSequence()

Save a sequence.

Returns:
  The file that was saved.

#### saveSequence

    public String saveSequence(String file)

Save a sequence.

Parameters:
  `file` - The file name to save the sequence with.
Returns:
  The file that was saved.

#### setMenus

    protected RolloverMenu[] setMenus()

Description copied from class: `InternalWindow`
Create the array of variable menus used by this window.

Specified by:
  `setMenus` in class `InternalWindow`
Returns:
  The array of variable menus created for this window.

#### setReading

    public void setReading(boolean isReading)

Set whether or not the window should be reading while typing.

Parameters:
  `isReading` - True if reading, false if not.