net.sf.colossus.guiutil
Class KDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by net.sf.colossus.guiutil.KDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
AbstractShowRecruits, AcquireAngel, AutoInspector, BattleTerrainHazardWindow, ChooseScreen, Concede, CreatureCollectionView, EngagementResults, EventViewer, Negotiate, PickCarry, PickColor, PickIntValue, PickLord, PickMarker, PickRecruit, PickRecruiter, PickStrikePenalty, PlayerDetailsDialog, ReplyToProposal, ShowCreatureDetails, ShowLegion, SplitLegion, StatusScreen, SummonAngel

public class KDialog
extends javax.swing.JDialog

KDialog adds some generally useful functions to JDialog.

Author:
David Ripton
See Also:
Serialized Form

Nested Class Summary
 
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
 
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
private  SaveWindow kSaveWindow
           
 
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 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
KDialog(java.awt.Frame owner, java.lang.String title, boolean modal)
          Only support one of JDialog's many constructor forms.
 
Method Summary
protected  void assertEDT()
          Asserts that the current thread is the Event Dispatch Thread.
 void centerOnScreen()
          Center this dialog on the screen.
 void centerOnScreen(int xoffset, int yoffset)
          Center this dialog on the screen, with an additional offset.
 void dispose()
           
 java.awt.Point getUpperRightCorner(int width)
          Returns a point with a horizontal offset of the top right corner of the screen.
 void lowerRightCorner()
           
 void placeRelative(javax.swing.JFrame parentFrame, java.awt.Point point, javax.swing.JScrollPane pane)
          Place dialog relative to parentFrame's origin, offset by point, and fully on-screen.
 void setVisible(boolean val)
           
 void useSaveWindow(IOptions options, java.lang.String windowName, java.awt.Point defaultLocation)
          If, and only if, the extending class calls this useSaveWindow, then the KDialog will handle the SaveWindow work: creating it when useSaveWindow is called, and saving back always when setVisible(false) is called (and useSaveWindow was called before, of course).
 
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, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paint, 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, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, 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, isOpaque, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, 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

kSaveWindow

private SaveWindow kSaveWindow
Constructor Detail

KDialog

public KDialog(java.awt.Frame owner,
               java.lang.String title,
               boolean modal)
Only support one of JDialog's many constructor forms.

Method Detail

assertEDT

protected void assertEDT()
                  throws java.lang.AssertionError
Asserts that the current thread is the Event Dispatch Thread.

Throws:
java.lang.AssertionError - if assertions are enabled and the current thread is not the EDT

placeRelative

public void placeRelative(javax.swing.JFrame parentFrame,
                          java.awt.Point point,
                          javax.swing.JScrollPane pane)
Place dialog relative to parentFrame's origin, offset by point, and fully on-screen.


centerOnScreen

public void centerOnScreen()
Center this dialog on the screen. Must be called after the dialog size has been set.


centerOnScreen

public void centerOnScreen(int xoffset,
                           int yoffset)
Center this dialog on the screen, with an additional offset. Must be called after the dialog size has been set.


getUpperRightCorner

public java.awt.Point getUpperRightCorner(int width)
Returns a point with a horizontal offset of the top right corner of the screen. This finds the upper right corner of the computer's screen and then moves the location to the left by the given width.

Parameters:
width - The horizontal offset.
Returns:
the target location

lowerRightCorner

public void lowerRightCorner()

useSaveWindow

public void useSaveWindow(IOptions options,
                          java.lang.String windowName,
                          java.awt.Point defaultLocation)
If, and only if, the extending class calls this useSaveWindow, then the KDialog will handle the SaveWindow work: creating it when useSaveWindow is called, and saving back always when setVisible(false) is called (and useSaveWindow was called before, of course). TODO maybe we should enforce this by calling it through the constructor

Parameters:
options - IOptions reference to the client for saving window size+pos in the Options data
windowName - name/title of the window, window size+pos are stored for that name
defaultLocation - to be used if no location was earlier stored: place there; give null to center on screen.

setVisible

public void setVisible(boolean val)
Overrides:
setVisible in class java.awt.Dialog

dispose

public void dispose()
Overrides:
dispose in class java.awt.Window