Class JDialogAnnotation

  • All Implemented Interfaces:
    DialogDefaultsInterface, java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    Direct Known Subclasses:
    JDialogVolumeAnnotation

    public class JDialogAnnotation
    extends JDialogBase
    implements java.awt.event.ActionListener
    Dialog for creating new/editing existing on-screen annotations. This allows writing text and choosing the font style, size and color.
    Version:
    1.0
    Author:
    Ben Link
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) class  JDialogAnnotation.CancelListener
      Does nothing.
      (package private) class  JDialogAnnotation.OkColorListener
      Pick up the selected color and call method to change the VOI color.
      protected class  JDialogAnnotation.UpdateTextAction
      Update the displayed text accourding to the current settings of the window.
      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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 Description
      private ModelImage activeImage
      The image that contains the VOI text.
      private javax.swing.JButton backgroundColorButton
      button to bring up the background color chooser.
      private javax.swing.JCheckBox boldBox
      checkbox for bold style.
      private javax.swing.JPanel buttonPanel
      Panel to contain the okay/cancel/help buttons.
      private javax.swing.JButton colorButton
      button to bring up color chooser.
      private ViewJColorChooser colorChooser
      color chooser to select text color.
      static java.lang.String DEFAULT_NOTES
      Default notes section text
      private int element
      the VOIText element in the VOI to modify
      private int fontDescriptors
      descriptors for font (BOLD, PLAIN, ITALIC).
      private java.lang.String fontName
      name/style of the font.
      private int fontSize
      size of font (int).
      private javax.swing.JTextField fontSizeField
      textfield for font size (int only).
      private javax.swing.JComboBox fontTypeBox
      combobox to hold the names of all available fonts.
      private boolean isBackground
      toggle between background and text color changing.
      private boolean isRegistered
      whether this is an existing or new VOIText (isRegistered = existing).
      private javax.swing.JCheckBox italicBox
      checkbox for italic style.
      private javax.swing.JTextField nameField
      NameField that will contain the string to be displayed.
      private javax.swing.JTextArea noteField
      NoteField for providing a note about this marker.
      private static long serialVersionUID
      Use serialVersionUID for interoperability.
      private boolean textEditable  
      private VOI textVOI
      the VOI that contains the VOIText.
      private javax.swing.JCheckBox useMarkerBox
      DOCUMENT ME!
      • Fields inherited from class javax.swing.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • 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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      JDialogAnnotation​(ModelImage image, VOI textVOI, int element, boolean isRegistered, boolean modal)
      Constructs a new annotation dialog, displays it, and turns recording on.
      JDialogAnnotation​(ModelImage image, VOI textVOI, int element, boolean isRegistered, boolean modal, boolean editText)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Catches action events: Okay, Cancel, Help and ChooseColor.
      private javax.swing.JPanel buildFontPanel()
      builds the panel that allows customization of font style/size/color.
      VOIText getTextVOI()  
      private void init​(java.lang.String title)
      Initializes the dialog box and adds the components.
      void itemStateChanged​(java.awt.event.ItemEvent event)
      Watches the font descriptor checkboxes (bold/italic) and the font name (style) combo box, updates displayed font with each change.
      protected boolean setVariables()
      makes sure the dialog is ready after (OKAY) is pressed.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, 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, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, 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

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • DEFAULT_NOTES

        public static final java.lang.String DEFAULT_NOTES
        Default notes section text
        See Also:
        Constant Field Values
      • activeImage

        private ModelImage activeImage
        The image that contains the VOI text.
      • backgroundColorButton

        private javax.swing.JButton backgroundColorButton
        button to bring up the background color chooser.
      • boldBox

        private javax.swing.JCheckBox boldBox
        checkbox for bold style.
      • buttonPanel

        private javax.swing.JPanel buttonPanel
        Panel to contain the okay/cancel/help buttons.
      • colorButton

        private javax.swing.JButton colorButton
        button to bring up color chooser.
      • colorChooser

        private ViewJColorChooser colorChooser
        color chooser to select text color.
      • fontDescriptors

        private int fontDescriptors
        descriptors for font (BOLD, PLAIN, ITALIC).
      • fontName

        private java.lang.String fontName
        name/style of the font.
      • fontSize

        private int fontSize
        size of font (int).
      • fontSizeField

        private javax.swing.JTextField fontSizeField
        textfield for font size (int only).
      • fontTypeBox

        private javax.swing.JComboBox fontTypeBox
        combobox to hold the names of all available fonts.
      • isBackground

        private boolean isBackground
        toggle between background and text color changing.
      • isRegistered

        private boolean isRegistered
        whether this is an existing or new VOIText (isRegistered = existing).
      • italicBox

        private javax.swing.JCheckBox italicBox
        checkbox for italic style.
      • nameField

        private javax.swing.JTextField nameField
        NameField that will contain the string to be displayed.
      • noteField

        private javax.swing.JTextArea noteField
        NoteField for providing a note about this marker. Note only displayed when clicked.
      • textVOI

        private VOI textVOI
        the VOI that contains the VOIText.
      • element

        private int element
        the VOIText element in the VOI to modify
      • useMarkerBox

        private javax.swing.JCheckBox useMarkerBox
        DOCUMENT ME!
      • textEditable

        private boolean textEditable
    • Constructor Detail

      • JDialogAnnotation

        public JDialogAnnotation​(ModelImage image,
                                 VOI textVOI,
                                 int element,
                                 boolean isRegistered,
                                 boolean modal)
        Constructs a new annotation dialog, displays it, and turns recording on.
        Parameters:
        image - Title of dialog frame
        textVOI - user interface (dialog uses main frame from UI as parent)
        slice - DOCUMENT ME!
        isRegistered - DOCUMENT ME!
      • JDialogAnnotation

        public JDialogAnnotation​(ModelImage image,
                                 VOI textVOI,
                                 int element,
                                 boolean isRegistered,
                                 boolean modal,
                                 boolean editText)
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Catches action events: Okay, Cancel, Help and ChooseColor.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        Parameters:
        event - ActionEvent
      • itemStateChanged

        public void itemStateChanged​(java.awt.event.ItemEvent event)
        Watches the font descriptor checkboxes (bold/italic) and the font name (style) combo box, updates displayed font with each change.
        Specified by:
        itemStateChanged in interface java.awt.event.ItemListener
        Overrides:
        itemStateChanged in class JDialogBase
        Parameters:
        event - ItemEvent the item change event that occured
      • getTextVOI

        public VOIText getTextVOI()
      • buildFontPanel

        private javax.swing.JPanel buildFontPanel()
        builds the panel that allows customization of font style/size/color.
        Returns:
        JPanel the font panel
      • init

        private void init​(java.lang.String title)
        Initializes the dialog box and adds the components.
        Parameters:
        title - Title of the dialog box.
      • setVariables

        protected boolean setVariables()
        makes sure the dialog is ready after (OKAY) is pressed.
        Returns:
        boolean are the dialog's variables kosher