Package gov.nih.mipav.view
Class ViewJFrameDICOMQuery
- java.lang.Object
- 
- java.awt.Component
- 
- java.awt.Container
- 
- java.awt.Window
- 
- java.awt.Frame
- 
- javax.swing.JFrame
- 
- gov.nih.mipav.view.ViewJFrameDICOMQuery
 
 
 
 
 
 
- 
- All Implemented Interfaces:
- java.awt.event.ActionListener,- java.awt.event.ComponentListener,- java.awt.event.FocusListener,- java.awt.event.MouseListener,- java.awt.event.WindowListener,- java.awt.image.ImageObserver,- java.awt.MenuContainer,- java.io.Serializable,- java.util.EventListener,- javax.accessibility.Accessible,- javax.swing.event.ChangeListener,- javax.swing.event.ListSelectionListener,- javax.swing.RootPaneContainer,- javax.swing.WindowConstants
 
 public class ViewJFrameDICOMQuery extends javax.swing.JFrame implements java.awt.event.ActionListener, javax.swing.event.ListSelectionListener, java.awt.event.MouseListener, javax.swing.event.ChangeListener, java.awt.event.ComponentListener, java.awt.event.WindowListener, java.awt.event.FocusListenerGUI for DICOM Query and retreival from DICOM compliant servers. There are three tabbed panels in the GUI. The first one is DICOM Query Panel. It has a panel for entering the query information, a panel for setting the dates of the query, a table that displays the results of the query, and a table that displays the status of any move requests. The user may either double click on the query table, hit the "Send Query" button, or hit the "Down" button to send a query to the next level. To go up a level, the user can click the "Up" button. To move an image from any level, the user can select the item to move on and click the "Move Image" button. At the images level, double clicking on an image will move that image. When a move request is sent, it is put in a separate thread. That thread updates the message table as to the progress of the move request.- Version:
- 1.0
- Author:
- Neva Cherniavsky, Matthew McAuliffe, Ph.D.
- See Also:
- DICOM_Query,- DICOM_Move, Serialized Form
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description private classViewJFrameDICOMQuery.MoveRequestInfoSimple class to support move requests.- 
Nested classes/interfaces inherited from class javax.swing.JFramejavax.swing.JFrame.AccessibleJFrame
 - 
Nested classes/interfaces inherited from class java.awt.Windowjava.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
 
- 
 - 
Field SummaryFields Modifier and Type Field Description private javax.swing.JPanelaboutPanelprivate javax.swing.JButtonactivateStoreButtons used for the host tabprivate javax.swing.JButtonbrowseButtonDOCUMENT ME!private javax.swing.JButtoncancelButtons used for the host tabprivate javax.swing.JButtoncancelQDOCUMENT ME!private javax.swing.JButtoncreateDOCUMENT ME!private javax.swing.JButtoncreateStoreButtons used for the host tabprivate javax.swing.JLabelcurrentDateLDOCUMENT ME!private static intDEFAULT_MIN_YEARDOCUMENT ME!private javax.swing.JButtondeleteDOCUMENT ME!private javax.swing.JButtondeleteStoreButtons used for the host tabprivate DICOM_QuerydicomQueryDOCUMENT ME!private javax.swing.JButtondownDOCUMENT ME!private javax.swing.JButtoneditDOCUMENT ME!private javax.swing.JButtoneditStoreButtons used for the host tabprivate java.util.CalendarendCalendarDOCUMENT ME!private javax.swing.JComboBoxendDayBoxDOCUMENT ME!private javax.swing.JComboBoxendMonthBoxDOCUMENT ME!private javax.swing.JComboBoxendYearBoxDOCUMENT ME!private static java.awt.Fontfont12DOCUMENT ME!private static java.awt.Fontfont12BDOCUMENT ME!private javax.swing.JButtonhelp1Buttons used for the host tabprivate javax.swing.JButtonhelp2Buttons used for the host tabprivate javax.swing.JButtonhelp3Buttons used for the host tabprivate javax.swing.JButtonhelp4Buttons used for the host tabprivate static intIMAGE_LEVELDOCUMENT ME!private javax.swing.JPanellistPanelDOCUMENT ME!private DICOMDisplayermessageTableDOCUMENT ME!private static java.awt.DimensionMINIMUM_SIZEDOCUMENT ME!private static java.lang.String[]monthStringDOCUMENT ME!private javax.swing.JButtonmoveDOCUMENT ME!private java.util.Hashtable<java.lang.String,ViewJFrameDICOMQuery.MoveRequestInfo>moveRequestHashDOCUMENT ME!private static intPATIENT_LEVELDOCUMENT ME!private javax.swing.JTextFieldphysTextDOCUMENT ME!private javax.swing.JTextFieldptIDTextDOCUMENT ME!private javax.swing.JTextFieldptNameTextDOCUMENT ME!private javax.swing.JLabelqueryLevDOCUMENT ME!private intqueryLevelDOCUMENT ME!private intqueryMsgIDDOCUMENT ME!private DICOM_PDUServicequeryPDUDOCUMENT ME!private javax.swing.JTablequeryResultTableDOCUMENT ME!private ViewTableModelqueryTableModelDOCUMENT ME!private javax.swing.JButtonrefreshButtonDOCUMENT ME!private javax.swing.JPanelrootQueryPanelDOCUMENT ME!private javax.swing.JButtonsendDOCUMENT ME!private javax.swing.JButtonsendButtonDOCUMENT ME!private javax.swing.JComboBoxsendDestCBoxDOCUMENT ME!private ViewTableModelsendModelDOCUMENT ME!private javax.swing.JPanelsendPanelprivate java.lang.ThreadsendQueryThreadDOCUMENT ME!private javax.swing.JButtonsendStatusClearButtonDOCUMENT ME!private javax.swing.JTextAreasendStatusTAreaDOCUMENT ME!private javax.swing.JTablesendTableDOCUMENT ME!private static longserialVersionUIDUse serialVersionUID for interoperability.private static intSERIES_LEVELDOCUMENT ME!private java.lang.StringseriesInstanceUIDDOCUMENT ME!private ViewTableModelserverModelDOCUMENT ME!private javax.swing.JTableserverTableDOCUMENT ME!private javax.swing.JButtonsetButtons used for the host tabprivate javax.swing.JButtonsetStoreButtons used for the host tabprivate java.lang.StringSOPInstanceUIDDOCUMENT ME!private javax.swing.JTextFieldsourceTextFDOCUMENT ME!private java.util.CalendarstartCalendarDOCUMENT ME!private javax.swing.JComboBoxstartDayBoxDOCUMENT ME!private javax.swing.JComboBoxstartMonthBoxDOCUMENT ME!private javax.swing.JComboBoxstartYearBoxDOCUMENT ME!private ViewTableModelstorageModelDOCUMENT ME!private javax.swing.JTablestorageTableDOCUMENT ME!private static intSTUDY_LEVELDOCUMENT ME!private java.lang.StringstudyInstanceUIDDOCUMENT ME!private javax.swing.JTextFieldstudyNOTextDOCUMENT ME!private javax.swing.JPanelsubQueryPanelDOCUMENT ME!private javax.swing.JTabbedPanetabbedPaneDOCUMENT ME!private javax.swing.JButtontestButtonDOCUMENT ME!private javax.swing.JTextAreatextAreaDOCUMENT ME!private java.util.CalendartodayCalendarDOCUMENT ME!private DICOM_UID[]uidsDOCUMENT ME!private javax.swing.JButtonupDOCUMENT ME!private javax.swing.JButtonupDirButtonDOCUMENT ME!private static ViewUserInterfaceuserInterface- 
Fields inherited from class java.awt.FrameCROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 - 
Fields inherited from class java.awt.ComponentBOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
- 
 - 
Constructor SummaryConstructors Constructor Description ViewJFrameDICOMQuery()Constructs three tabbed panels - DICOM Query, Host and Help panels.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent event)Calls various methods depending on the action.private voidaddFiles(java.io.File current, java.util.Vector<java.lang.String> list)voidappendSendMessage(java.lang.String appMessage)Appends the text area with the message.private java.util.CalendarassignCalendar(java.util.Calendar sourceC, java.util.Calendar targetC)Assign source Calendar to target calendar.private javax.swing.JPanelbuildDatePanel()Builds the panel that designed for inputing study duration information.private voidbuildHelpText()Constructs the helping manual in the help panel - one of the three panels in the tabbed panel.private javax.swing.JPanelbuildHostPanel()Builds the host panel by calling methods to build the server and storage panels.private javax.swing.JLabelbuildLabel(java.lang.String s)Builds the label for the textField, try to standardize the label appearance in the GUI.private javax.swing.JPanelbuildListingPanel()Builds the listing panel.private javax.swing.JPanelbuildMessagePanel()Construct the Query retrieval message panel.private javax.swing.JPanelbuildPtInfoPanel()Constructs the patient information input panel.private javax.swing.JPanelbuildQueryPanel()Builds the DICOM Query panel, one of the three tabbed Panels in the DICOMQuery GUI.private javax.swing.JRadioButtonbuildRadioButton(java.lang.String s, boolean flag)Constructs the radio button for fast input of study date range.private javax.swing.JPanelbuildSendPanel()Builds the host panel by calling methods to build the server and storage panels.private javax.swing.JPanelbuildServerPanel()Builds the panel that contains the server table and four buttons.private javax.swing.JPanelbuildStoragePanel()Builds the panel that contains the storage table and four buttons.private javax.swing.JPanelbuildTextPanel()Constructs the panel that contains the query result table.private javax.swing.border.TitledBorderbuildTitledBorder(java.lang.String s)Constructs the titled border for the panel.booleancancelPendingMoves()Cancels pending moves.booleancancelPendingQuery()Cancels pending query.private java.util.CalendarcheckCalendar(java.util.Calendar date)To check if the date is a valid date in the calendar.private booleancheckDate(int year, int month, int day, boolean start)Checks the date to be sure the user didn't enter the start after the end.voidcomponentHidden(java.awt.event.ComponentEvent event)DOCUMENT ME!voidcomponentMoved(java.awt.event.ComponentEvent event)DOCUMENT ME!voidcomponentResized(java.awt.event.ComponentEvent event)Does not allow component to be smaller than MINIMUM_SIZE.voidcomponentShown(java.awt.event.ComponentEvent event)DOCUMENT ME!private java.util.CalendarcopyOfCalendar(java.util.Calendar date)Constructs and new class and copy the year, month, day paramenters.voiddisplayQueryResults(int type)Displays the query results.private intendOfMonth(java.util.Calendar tmp)Calculates the last date of the month.voidfocusGained(java.awt.event.FocusEvent event)Unchanged.voidfocusLost(java.awt.event.FocusEvent event)When the user clicks the mouse out of a text field, resets the neccessary variables.private java.util.CalendargetDaysBefore(java.util.Calendar date, int num)Returns the new date of num days before date.private java.util.CalendargetEndCalendar()Gets all the ending date of the patient's study from the all three comboboxes.private intgetEndDay()Gets the ending day of the study in the endDayBox combobox.private intgetEndMonth()Gets the ending month of the study in the endMonthBox combobox.private intgetEndYear()Gets the ending year of the study in the endYearBox combobox.private java.lang.String[]getFiles(int[] rows)private java.util.CalendargetMonthsBefore(java.util.Calendar tmp, int num)Returns the new date of num months before date.private java.lang.StringgetPhysName()Gets the physician's name from the physText field.private java.lang.StringgetPtID()Gets the Patient's ID from the ptIDText field.private java.lang.StringgetPtName()Gets the Patient name from the ptNameText field.private java.util.CalendargetStartCalendar()Gets all the starting date of the patient's study from the all three comboboxes.private intgetStartDay()Gets the starting day of the study in the startDayBox combobox.private intgetStartMonth()Gets the starting Month of the study in the startMonthBox combobox.private intgetStartYear()Gets the starting year of the study in the startYearBox combobox.private java.lang.StringgetStudyNo()Gets the study id from the studyNOText field.private java.util.CalendargetYearsBefore(java.util.Calendar tmp, int num)Returns the new date of num years before date.private intitemToInteger(java.lang.Object item)Converts the combo box item to its corresponding integer.private java.lang.StringlastName(java.lang.String name)Finds the last name of the current patient.private java.lang.StringmakeString(java.lang.String[] stuff)Makes the .preferences string out of the array.voidmouseClicked(java.awt.event.MouseEvent e)When the user double clicks on a selection, sends a query at the next query level; when the user clicks on a header, sorts the column.voidmouseEntered(java.awt.event.MouseEvent e)DOCUMENT ME!voidmouseExited(java.awt.event.MouseEvent e)DOCUMENT ME!voidmousePressed(java.awt.event.MouseEvent e)DOCUMENT ME!voidmouseReleased(java.awt.event.MouseEvent e)DOCUMENT ME!private java.lang.StringoriginalName(java.lang.String name)Transforms the name from the usual form to the DICOM form.private java.lang.StringparseName(java.lang.String name)Transforms the name from the DICOM form to a more usual form.private voidsendMoveRequest(int type)Sends a move request at the current level, setting up the data objects appropriately.private voidsendQuery(int type)This method sets up the information for the DICOM query depending on the type, sends the query, and parses the information that the server sends back.private voidsetColumns()Sets the columns of the query table to certain values.private voidsetEnabled(javax.swing.JButton button, boolean enabled)Sets the specified button to enabled or disabled, depending on the boolean parameter.private voidsetEndCalendar(java.util.Calendar date)Set the end calendar.private voidsetEndDay(int day)Sets the end day.private voidsetEndMonth(int month)Sets the end month.private voidsetEndYear(int year)Sets the end year.private java.awt.GridBagConstraintssetGBC(int x, int y, int w, int h)A helper method for adding a component using GridBagLayout, so we don't have to set up the x, y, width, and height over and over again.private voidsetStartCalendar(java.util.Calendar date)Sets the start calender to the calendar given.private voidsetStartDay(int day)Displays the starting day in the startDayBox combobox.private voidsetStartMonth(int month)Displays the starting month in the startMonthBox combobox.private voidsetStartYear(int year)Displays the starting year in the startYearBox combobox.private java.awt.GridBagConstraintssetupComboBoxLayout()Sets up the gridbag layout of the combo boxes.private java.awt.GridBagConstraintssetupLabelLayout()Sets up the gridBagLayout of the textField label.private booleansetupSendFileListing(java.lang.String dir)Sets ups the send file listing.private voidsetupSendTab()Update Send tab to reflect any changes in hosts.private java.awt.GridBagConstraintssetupTextFieldLayout()Sets up the gridbaglayout of the textField.private voidsort(ViewTableModel model, int col, boolean reverse)Sorts the column of the table model.voidstateChanged(javax.swing.event.ChangeEvent e)ChangeListener************************************************************************* /** Sets values based on knob along slider.voidvalueChanged(javax.swing.event.ListSelectionEvent e)A List Selection Listener event for changes in the tables.voidwindowActivated(java.awt.event.WindowEvent event)Unchanged.voidwindowClosed(java.awt.event.WindowEvent event)Unchanged.voidwindowClosing(java.awt.event.WindowEvent event)Closes frame is requested.voidwindowDeactivated(java.awt.event.WindowEvent event)Unchanged.voidwindowDeiconified(java.awt.event.WindowEvent event)Unchanged.voidwindowIconified(java.awt.event.WindowEvent event)Unchanged.voidwindowOpened(java.awt.event.WindowEvent event)Unchanged.- 
Methods inherited from class javax.swing.JFrameaddImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 - 
Methods inherited from class java.awt.FrameaddNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
 - 
Methods inherited from class java.awt.WindowaddPropertyChangeListener, 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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
 - 
Methods inherited from class java.awt.Containeradd, 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.Componentaction, 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, 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
 
- 
 
- 
- 
- 
Field Detail- 
serialVersionUIDprivate static final long serialVersionUID Use serialVersionUID for interoperability.- See Also:
- Constant Field Values
 
 - 
DEFAULT_MIN_YEARprivate static final int DEFAULT_MIN_YEAR DOCUMENT ME!- See Also:
- Constant Field Values
 
 - 
PATIENT_LEVELprivate static final int PATIENT_LEVEL DOCUMENT ME!- See Also:
- Constant Field Values
 
 - 
STUDY_LEVELprivate static final int STUDY_LEVEL DOCUMENT ME!- See Also:
- Constant Field Values
 
 - 
SERIES_LEVELprivate static final int SERIES_LEVEL DOCUMENT ME!- See Also:
- Constant Field Values
 
 - 
IMAGE_LEVELprivate static final int IMAGE_LEVEL DOCUMENT ME!- See Also:
- Constant Field Values
 
 - 
MINIMUM_SIZEprivate static final java.awt.Dimension MINIMUM_SIZE DOCUMENT ME!
 - 
browseButtonprivate javax.swing.JButton browseButton DOCUMENT ME!
 - 
currentDateLprivate javax.swing.JLabel currentDateL DOCUMENT ME!
 - 
dicomQueryprivate DICOM_Query dicomQuery DOCUMENT ME!
 - 
endYearBoxprivate javax.swing.JComboBox endYearBox DOCUMENT ME!
 - 
endMonthBoxprivate javax.swing.JComboBox endMonthBox DOCUMENT ME!
 - 
endDayBoxprivate javax.swing.JComboBox endDayBox DOCUMENT ME!
 - 
font12private static final java.awt.Font font12 DOCUMENT ME!
 - 
font12Bprivate static final java.awt.Font font12B DOCUMENT ME!
 - 
listPanelprivate javax.swing.JPanel listPanel DOCUMENT ME!
 - 
messageTableprivate DICOMDisplayer messageTable DOCUMENT ME!
 - 
monthStringprivate static final java.lang.String[] monthString DOCUMENT ME!
 - 
moveRequestHashprivate java.util.Hashtable<java.lang.String,ViewJFrameDICOMQuery.MoveRequestInfo> moveRequestHash DOCUMENT ME!
 - 
ptNameTextprivate javax.swing.JTextField ptNameText DOCUMENT ME!
 - 
ptIDTextprivate javax.swing.JTextField ptIDText DOCUMENT ME!
 - 
studyNOTextprivate javax.swing.JTextField studyNOText DOCUMENT ME!
 - 
physTextprivate javax.swing.JTextField physText DOCUMENT ME!
 - 
queryLevprivate javax.swing.JLabel queryLev DOCUMENT ME!
 - 
queryLevelprivate int queryLevel DOCUMENT ME!
 - 
queryMsgIDprivate int queryMsgID DOCUMENT ME!
 - 
aboutPanelprivate javax.swing.JPanel aboutPanel 
 - 
queryPDUprivate DICOM_PDUService queryPDU DOCUMENT ME!
 - 
queryResultTableprivate javax.swing.JTable queryResultTable DOCUMENT ME!
 - 
queryTableModelprivate ViewTableModel queryTableModel DOCUMENT ME!
 - 
refreshButtonprivate javax.swing.JButton refreshButton DOCUMENT ME!
 - 
rootQueryPanelprivate javax.swing.JPanel rootQueryPanel DOCUMENT ME!
 - 
sendButtonprivate javax.swing.JButton sendButton DOCUMENT ME!
 - 
sendDestCBoxprivate javax.swing.JComboBox sendDestCBox DOCUMENT ME!
 - 
sendModelprivate ViewTableModel sendModel DOCUMENT ME!
 - 
sendQueryThreadprivate java.lang.Thread sendQueryThread DOCUMENT ME!
 - 
sendStatusClearButtonprivate javax.swing.JButton sendStatusClearButton DOCUMENT ME!
 - 
sendStatusTAreaprivate javax.swing.JTextArea sendStatusTArea DOCUMENT ME!
 - 
sendTableprivate javax.swing.JTable sendTable DOCUMENT ME!
 - 
seriesInstanceUIDprivate java.lang.String seriesInstanceUID DOCUMENT ME!
 - 
serverModelprivate ViewTableModel serverModel DOCUMENT ME!
 - 
serverTableprivate javax.swing.JTable serverTable DOCUMENT ME!
 - 
setprivate javax.swing.JButton set Buttons used for the host tab
 - 
activateStoreprivate javax.swing.JButton activateStore Buttons used for the host tab
 - 
createStoreprivate javax.swing.JButton createStore Buttons used for the host tab
 - 
editStoreprivate javax.swing.JButton editStore Buttons used for the host tab
 - 
deleteStoreprivate javax.swing.JButton deleteStore Buttons used for the host tab
 - 
setStoreprivate javax.swing.JButton setStore Buttons used for the host tab
 - 
cancelprivate javax.swing.JButton cancel Buttons used for the host tab
 - 
help1private javax.swing.JButton help1 Buttons used for the host tab
 - 
help2private javax.swing.JButton help2 Buttons used for the host tab
 - 
help3private javax.swing.JButton help3 Buttons used for the host tab
 - 
help4private javax.swing.JButton help4 Buttons used for the host tab
 - 
SOPInstanceUIDprivate java.lang.String SOPInstanceUID DOCUMENT ME!
 - 
sourceTextFprivate javax.swing.JTextField sourceTextF DOCUMENT ME!
 - 
startCalendarprivate java.util.Calendar startCalendar DOCUMENT ME!
 - 
endCalendarprivate java.util.Calendar endCalendar DOCUMENT ME!
 - 
todayCalendarprivate java.util.Calendar todayCalendar DOCUMENT ME!
 - 
startYearBoxprivate javax.swing.JComboBox startYearBox DOCUMENT ME!
 - 
startMonthBoxprivate javax.swing.JComboBox startMonthBox DOCUMENT ME!
 - 
startDayBoxprivate javax.swing.JComboBox startDayBox DOCUMENT ME!
 - 
storageModelprivate ViewTableModel storageModel DOCUMENT ME!
 - 
storageTableprivate javax.swing.JTable storageTable DOCUMENT ME!
 - 
studyInstanceUIDprivate java.lang.String studyInstanceUID DOCUMENT ME!
 - 
subQueryPanelprivate javax.swing.JPanel subQueryPanel DOCUMENT ME!
 - 
tabbedPaneprivate javax.swing.JTabbedPane tabbedPane DOCUMENT ME!
 - 
testButtonprivate javax.swing.JButton testButton DOCUMENT ME!
 - 
textAreaprivate javax.swing.JTextArea textArea DOCUMENT ME!
 - 
uidsprivate DICOM_UID[] uids DOCUMENT ME!
 - 
upprivate javax.swing.JButton up DOCUMENT ME!
 - 
downprivate javax.swing.JButton down DOCUMENT ME!
 - 
cancelQprivate javax.swing.JButton cancelQ DOCUMENT ME!
 - 
sendprivate javax.swing.JButton send DOCUMENT ME!
 - 
moveprivate javax.swing.JButton move DOCUMENT ME!
 - 
createprivate javax.swing.JButton create DOCUMENT ME!
 - 
editprivate javax.swing.JButton edit DOCUMENT ME!
 - 
deleteprivate javax.swing.JButton delete DOCUMENT ME!
 - 
upDirButtonprivate javax.swing.JButton upDirButton DOCUMENT ME!
 - 
sendPanelprivate final javax.swing.JPanel sendPanel 
 - 
userInterfaceprivate static final ViewUserInterface userInterface 
 
- 
 - 
Method Detail- 
actionPerformedpublic void actionPerformed(java.awt.event.ActionEvent event) Calls various methods depending on the action.- Specified by:
- actionPerformedin interface- java.awt.event.ActionListener
- Parameters:
- event- event that triggered function
 
 - 
getFilesprivate java.lang.String[] getFiles(int[] rows) 
 - 
addFilesprivate void addFiles(java.io.File current, java.util.Vector<java.lang.String> list)
 - 
appendSendMessagepublic void appendSendMessage(java.lang.String appMessage) Appends the text area with the message.- Parameters:
- appMessage- the message
 
 - 
cancelPendingMovespublic boolean cancelPendingMoves() Cancels pending moves.- Returns:
- DOCUMENT ME!
 
 - 
cancelPendingQuerypublic boolean cancelPendingQuery() Cancels pending query.- Returns:
- DOCUMENT ME!
 
 - 
componentHiddenpublic void componentHidden(java.awt.event.ComponentEvent event) DOCUMENT ME!- Specified by:
- componentHiddenin interface- java.awt.event.ComponentListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
componentMovedpublic void componentMoved(java.awt.event.ComponentEvent event) DOCUMENT ME!- Specified by:
- componentMovedin interface- java.awt.event.ComponentListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
componentResizedpublic void componentResized(java.awt.event.ComponentEvent event) Does not allow component to be smaller than MINIMUM_SIZE.- Specified by:
- componentResizedin interface- java.awt.event.ComponentListener
- Parameters:
- event- event that triggered this method
 
 - 
componentShownpublic void componentShown(java.awt.event.ComponentEvent event) DOCUMENT ME!- Specified by:
- componentShownin interface- java.awt.event.ComponentListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
displayQueryResultspublic void displayQueryResults(int type) Displays the query results.- Parameters:
- type- indicates the query level
 
 - 
focusGainedpublic void focusGained(java.awt.event.FocusEvent event) Unchanged.- Specified by:
- focusGainedin interface- java.awt.event.FocusListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
focusLostpublic void focusLost(java.awt.event.FocusEvent event) When the user clicks the mouse out of a text field, resets the neccessary variables.- Specified by:
- focusLostin interface- java.awt.event.FocusListener
- Parameters:
- event- event that triggers this function
 
 - 
mouseClickedpublic void mouseClicked(java.awt.event.MouseEvent e) When the user double clicks on a selection, sends a query at the next query level; when the user clicks on a header, sorts the column.- Specified by:
- mouseClickedin interface- java.awt.event.MouseListener
- Parameters:
- e- event that triggered this method
 
 - 
mouseEnteredpublic void mouseEntered(java.awt.event.MouseEvent e) DOCUMENT ME!- Specified by:
- mouseEnteredin interface- java.awt.event.MouseListener
- Parameters:
- e- DOCUMENT ME!
 
 - 
mouseExitedpublic void mouseExited(java.awt.event.MouseEvent e) DOCUMENT ME!- Specified by:
- mouseExitedin interface- java.awt.event.MouseListener
- Parameters:
- e- DOCUMENT ME!
 
 - 
mousePressedpublic void mousePressed(java.awt.event.MouseEvent e) DOCUMENT ME!- Specified by:
- mousePressedin interface- java.awt.event.MouseListener
- Parameters:
- e- DOCUMENT ME!
 
 - 
mouseReleasedpublic void mouseReleased(java.awt.event.MouseEvent e) DOCUMENT ME!- Specified by:
- mouseReleasedin interface- java.awt.event.MouseListener
- Parameters:
- e- DOCUMENT ME!
 
 - 
stateChangedpublic void stateChanged(javax.swing.event.ChangeEvent e) ChangeListener************************************************************************* /** Sets values based on knob along slider.- Specified by:
- stateChangedin interface- javax.swing.event.ChangeListener
- Parameters:
- e- DOCUMENT ME! event that triggered this function
 
 - 
valueChangedpublic void valueChanged(javax.swing.event.ListSelectionEvent e) A List Selection Listener event for changes in the tables. If this is the query table, it will enable the down and move images buttons and set up the UIDs for querying. If this is the server or storage table, it will enable the edit, delete, and set as default buttons.- Specified by:
- valueChangedin interface- javax.swing.event.ListSelectionListener
- Parameters:
- e- event that triggered this method.
 
 - 
windowActivatedpublic void windowActivated(java.awt.event.WindowEvent event) Unchanged.- Specified by:
- windowActivatedin interface- java.awt.event.WindowListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
windowClosedpublic void windowClosed(java.awt.event.WindowEvent event) Unchanged.- Specified by:
- windowClosedin interface- java.awt.event.WindowListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
windowClosingpublic void windowClosing(java.awt.event.WindowEvent event) Closes frame is requested. The user is notified if there are any pending image move requests. The user is able to- Specified by:
- windowClosingin interface- java.awt.event.WindowListener
- Parameters:
- event- event that triggered this function
 
 - 
windowDeactivatedpublic void windowDeactivated(java.awt.event.WindowEvent event) Unchanged.- Specified by:
- windowDeactivatedin interface- java.awt.event.WindowListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
windowDeiconifiedpublic void windowDeiconified(java.awt.event.WindowEvent event) Unchanged.- Specified by:
- windowDeiconifiedin interface- java.awt.event.WindowListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
windowIconifiedpublic void windowIconified(java.awt.event.WindowEvent event) Unchanged.- Specified by:
- windowIconifiedin interface- java.awt.event.WindowListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
windowOpenedpublic void windowOpened(java.awt.event.WindowEvent event) Unchanged.- Specified by:
- windowOpenedin interface- java.awt.event.WindowListener
- Parameters:
- event- DOCUMENT ME!
 
 - 
assignCalendarprivate java.util.Calendar assignCalendar(java.util.Calendar sourceC, java.util.Calendar targetC)Assign source Calendar to target calendar.- Parameters:
- sourceC- The source calendar
- targetC- The target calendar that will copy the values of the source Calendar.
- Returns:
- The target calendar.
 
 - 
buildDatePanelprivate javax.swing.JPanel buildDatePanel() Builds the panel that designed for inputing study duration information. It contains a panel of radiobuttons, and two rows of pull down boxes to facilitate the input of information.- Returns:
- The constructed panel.
 
 - 
buildHelpTextprivate void buildHelpText() Constructs the helping manual in the help panel - one of the three panels in the tabbed panel. Reads the help information from a file "DICOMhelp.txt" that should be in the classpath. If it is not, throws up an error message and displays nothing in the tabbed pane.
 - 
buildHostPanelprivate javax.swing.JPanel buildHostPanel() Builds the host panel by calling methods to build the server and storage panels.- Returns:
- the panel containing the hosts
 
 - 
buildLabelprivate javax.swing.JLabel buildLabel(java.lang.String s) Builds the label for the textField, try to standardize the label appearance in the GUI.- Parameters:
- s- a string which encode the name of the label
- Returns:
- the constructed label.
 
 - 
buildListingPanelprivate javax.swing.JPanel buildListingPanel() Builds the listing panel.- Returns:
- the server panel
 
 - 
buildMessagePanelprivate javax.swing.JPanel buildMessagePanel() Construct the Query retrieval message panel. It contains a table for displaying the information.- Returns:
- The constructed panel.
 
 - 
buildPtInfoPanelprivate javax.swing.JPanel buildPtInfoPanel() Constructs the patient information input panel.- Returns:
- the constructed panel.
 
 - 
buildQueryPanelprivate javax.swing.JPanel buildQueryPanel() Builds the DICOM Query panel, one of the three tabbed Panels in the DICOMQuery GUI. Inside, there are three different elements: The patient information panel - patient name, ID, study dates ... The Query result panel - display the result of the query The message area - display the status of the query- Returns:
- the DICOM Query Panel which contains the patient info and query result
 
 - 
buildRadioButtonprivate javax.swing.JRadioButton buildRadioButton(java.lang.String s, boolean flag)Constructs the radio button for fast input of study date range.- Parameters:
- s- The name of the radio button: today, one week, one month ...
- flag- Whether the radio button is active by default or not.
- Returns:
- The constructed radio button with appropriated attributes attached.
 
 - 
buildSendPanelprivate final javax.swing.JPanel buildSendPanel() Builds the host panel by calling methods to build the server and storage panels.- Returns:
- the panel containing
 
 - 
buildServerPanelprivate javax.swing.JPanel buildServerPanel() Builds the panel that contains the server table and four buttons. The server table consists of five columns with information the user needs to query the server. The buttons are "Create", which creates a new server; "Edit", which edits the currently selected server; "Delete", which deletes the currently selected server; and "Set As Default", which sets the current server as default. To get the data in the table, the table model reads the .preferences file and parses the data. When changes are made, they are saved to the .preferences file.- Returns:
- the server panel
 
 - 
buildStoragePanelprivate javax.swing.JPanel buildStoragePanel() Builds the panel that contains the storage table and four buttons. The storage table consists of five columns with information the user needs to move images. The buttons are "Create", which creates a new destination; "Edit", which edits the currently selected destination; "Delete", which deletes the currently selected destination; and "Set As Default", which sets the current destination as default. To get the data in the table, the table model reads the .preferences file and parses the data. When changes are made, they are saved to the .preferences file.- Returns:
- the storage panel
 
 - 
buildTextPanelprivate javax.swing.JPanel buildTextPanel() Constructs the panel that contains the query result table. There are four action-attached buttons to facilitate different levels of query: up, down, send query, and move images. Up moves the query up a level; down moves it down a level; send query sends a query; and move images moves an image or a set of images at that level.- Returns:
- The constructed panel.
 
 - 
buildTitledBorderprivate javax.swing.border.TitledBorder buildTitledBorder(java.lang.String s) Constructs the titled border for the panel.- Parameters:
- s- a string carried the name of the border
- Returns:
- the constructed titled border
 
 - 
checkCalendarprivate java.util.Calendar checkCalendar(java.util.Calendar date) To check if the date is a valid date in the calendar.- Parameters:
- date- The date to be checked.
- Returns:
- The new calendar class with correctd date.
 
 - 
checkDateprivate boolean checkDate(int year, int month, int day, boolean start)Checks the date to be sure the user didn't enter the start after the end.- Parameters:
- year- year of the date to check
- month- month of the date to check
- day- day of the date to check
- start- flag that says if this is the start date or end date
- Returns:
- boolean that tells if the date checked out
 
 - 
copyOfCalendarprivate java.util.Calendar copyOfCalendar(java.util.Calendar date) Constructs and new class and copy the year, month, day paramenters.- Parameters:
- date- The source Calendar class which will be copied from.
- Returns:
- The newly constructed calendar class with the same info as source.
 
 - 
endOfMonthprivate int endOfMonth(java.util.Calendar tmp) Calculates the last date of the month.- Parameters:
- tmp- The calendar to be calculated.
- Returns:
- the last date of the month.
 
 - 
getDaysBeforeprivate java.util.Calendar getDaysBefore(java.util.Calendar date, int num)Returns the new date of num days before date.- Parameters:
- date- the date to get the days before of
- num- the number of days before
- Returns:
- the calendar with the right number of years before
 
 - 
getEndCalendarprivate java.util.Calendar getEndCalendar() Gets all the ending date of the patient's study from the all three comboboxes.- Returns:
- a Calendar type stores the ending date information
 
 - 
getEndDayprivate int getEndDay() Gets the ending day of the study in the endDayBox combobox.- Returns:
- integer: the ending day of the study
 
 - 
getEndMonthprivate int getEndMonth() Gets the ending month of the study in the endMonthBox combobox.- Returns:
- integer: the ending month of the study
 
 - 
getEndYearprivate int getEndYear() Gets the ending year of the study in the endYearBox combobox.- Returns:
- integer: the ending year of the study
 
 - 
getMonthsBeforeprivate java.util.Calendar getMonthsBefore(java.util.Calendar tmp, int num)Returns the new date of num months before date.- Parameters:
- tmp- the date to get the months before of
- num- the number of months before
- Returns:
- the calendar with the right number of months before
 
 - 
getPhysNameprivate java.lang.String getPhysName() Gets the physician's name from the physText field.- Returns:
- The string that stores the physician's name.
 
 - 
getPtIDprivate java.lang.String getPtID() Gets the Patient's ID from the ptIDText field.- Returns:
- The string that stores the patient ID.
 
 - 
getPtNameprivate java.lang.String getPtName() Gets the Patient name from the ptNameText field.- Returns:
- The string that contained the patient's name.
 
 - 
getStartCalendarprivate java.util.Calendar getStartCalendar() Gets all the starting date of the patient's study from the all three comboboxes.- Returns:
- a Calendar type stores the starting date information
 
 - 
getStartDayprivate int getStartDay() Gets the starting day of the study in the startDayBox combobox.- Returns:
- integer: the starting day of the study
 
 - 
getStartMonthprivate int getStartMonth() Gets the starting Month of the study in the startMonthBox combobox.- Returns:
- integer: the starting month of the study
 
 - 
getStartYearprivate int getStartYear() Gets the starting year of the study in the startYearBox combobox.- Returns:
- integer: the starting year of the study
 
 - 
getStudyNoprivate java.lang.String getStudyNo() Gets the study id from the studyNOText field.- Returns:
- The string that stores the study number.
 
 - 
getYearsBeforeprivate java.util.Calendar getYearsBefore(java.util.Calendar tmp, int num)Returns the new date of num years before date.- Parameters:
- tmp- the date to get the years before of
- num- the number of years before
- Returns:
- the calendar with the right number of years before
 
 - 
itemToIntegerprivate int itemToInteger(java.lang.Object item) Converts the combo box item to its corresponding integer. Year and date - are numbers as they represented. Month - will be converted to integer, starting with 0 = January,- Parameters:
- item- DOCUMENT ME!
- Returns:
- The appropriated integer number.
 
 - 
lastNameprivate java.lang.String lastName(java.lang.String name) Finds the last name of the current patient.- Parameters:
- name- patient's name
- Returns:
- the last name
 
 - 
makeStringprivate java.lang.String makeString(java.lang.String[] stuff) Makes the .preferences string out of the array.- Parameters:
- stuff- array to make the string from
- Returns:
- the string with the array items separated by semicolons
 
 - 
originalNameprivate java.lang.String originalName(java.lang.String name) Transforms the name from the usual form to the DICOM form.- Parameters:
- name- the usual name
- Returns:
- the DICOM version of the name
 
 - 
parseNameprivate java.lang.String parseName(java.lang.String name) Transforms the name from the DICOM form to a more usual form.- Parameters:
- name- the original name
- Returns:
- the more usual version of the name
 
 - 
sendMoveRequestprivate void sendMoveRequest(int type) Sends a move request at the current level, setting up the data objects appropriately. It runs the move request in its own thread.- Parameters:
- type- type of move request: PATIENT, STUDY, SERIES, or IMAGE.
 
 - 
sendQueryprivate void sendQuery(int type) This method sets up the information for the DICOM query depending on the type, sends the query, and parses the information that the server sends back. On a study query, it filters out studies before the start date or after the end date.- Parameters:
- type- type of query: PATIENT, STUDY, SERIES, or IMAGE.
 
 - 
setColumnsprivate void setColumns() Sets the columns of the query table to certain values.
 - 
setEnabledprivate void setEnabled(javax.swing.JButton button, boolean enabled)Sets the specified button to enabled or disabled, depending on the boolean parameter.- Parameters:
- button- button to set
- enabled- true is enabled, false if disabled
 
 - 
setEndCalendarprivate void setEndCalendar(java.util.Calendar date) Set the end calendar.- Parameters:
- date- date to set it to
 
 - 
setEndDayprivate void setEndDay(int day) Sets the end day.- Parameters:
- day- day to set it to
 
 - 
setEndMonthprivate void setEndMonth(int month) Sets the end month.- Parameters:
- month- month to set it to
 
 - 
setEndYearprivate void setEndYear(int year) Sets the end year.- Parameters:
- year- year to set it to
 
 - 
setGBCprivate java.awt.GridBagConstraints setGBC(int x, int y, int w, int h)A helper method for adding a component using GridBagLayout, so we don't have to set up the x, y, width, and height over and over again.- Parameters:
- x- GridBagConstraints.gridx
- y- GridBagConstraints.gridy
- w- GridBagContraints.gridwidth
- h- GridBagConstraints.gridheight
- Returns:
- the grid bag constraints
- See Also:
- GridBagConstraints
 
 - 
setStartCalendarprivate void setStartCalendar(java.util.Calendar date) Sets the start calender to the calendar given.- Parameters:
- date- calendar to set it to
 
 - 
setStartDayprivate void setStartDay(int day) Displays the starting day in the startDayBox combobox.- Parameters:
- day- an integer of the starting date: day
 
 - 
setStartMonthprivate void setStartMonth(int month) Displays the starting month in the startMonthBox combobox.- Parameters:
- month- an integer of the starting date: month
 
 - 
setStartYearprivate void setStartYear(int year) Displays the starting year in the startYearBox combobox.- Parameters:
- year- an integer of the starting date: year
 
 - 
setupComboBoxLayoutprivate java.awt.GridBagConstraints setupComboBoxLayout() Sets up the gridbag layout of the combo boxes.- Returns:
- The gbc for the combo boxes
 
 - 
setupLabelLayoutprivate java.awt.GridBagConstraints setupLabelLayout() Sets up the gridBagLayout of the textField label.- Returns:
- the gbc layout for label
 
 - 
setupSendFileListingprivate boolean setupSendFileListing(java.lang.String dir) Sets ups the send file listing.- Parameters:
- dir- the directory from which to build the listing
- Returns:
- DOCUMENT ME!
 
 - 
setupSendTabprivate void setupSendTab() Update Send tab to reflect any changes in hosts.
 - 
setupTextFieldLayoutprivate java.awt.GridBagConstraints setupTextFieldLayout() Sets up the gridbaglayout of the textField.- Returns:
- The gbc layout for the text field.
 
 - 
sortprivate void sort(ViewTableModel model, int col, boolean reverse) Sorts the column of the table model. If reverse is true, sorts in reverse order.- Parameters:
- model- table model to sort on
- col- column to sort on
- reverse- whether or not to sort in reverse order.
 
 
- 
 
-