Package adams.gui.core
Class BaseFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- adams.gui.core.BaseFrame
-
- All Implemented Interfaces:
LoggingSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
- Direct Known Subclasses:
AbstractFrameWithOptionHandling
,AbstractNamedHistoryPanel.AbstractHistoryEntryFrame
,ChildFrame
,HelpFrame
public class BaseFrame extends JFrame implements LoggingSupporter
A frame that loads the size and location from the props file automatically.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
-
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow, Window.Type
-
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 Modifier and Type Field Description protected Logger
m_Logger
for logging.protected MaximizationFixWindowListener
m_MaximizationFixWindowListener
the maximization fix listener.protected boolean
m_UISettingsApplied
whether UI settings were applied.protected String
m_UISettingsPrefix
the UI settings prefix to use.protected boolean
m_UISettingsStored
whether the UI settings got stored.protected static Boolean
m_UseMaximizationFix
whether to use the fix.-
Fields inherited from class javax.swing.JFrame
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Frame
CROSSHAIR_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.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 BaseFrame()
Initializes the frame with no title.BaseFrame(GraphicsConfiguration gc)
Initializes the frame with no title.BaseFrame(String title)
Initializes the frame with the given title.BaseFrame(String title, GraphicsConfiguration gc)
Initializes the frame with the specified title.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
afterHide()
Hook method just after the dialog was hidden.protected void
afterShow()
Hook method just after the dialog was made visible.void
applyUISettings()
Applies any UI settings if present.protected void
beforeHide()
Hook method just before the dialog is hidden.protected void
beforeShow()
Hook method just before the dialog is made visible.protected void
finishInit()
finishes the initialization, by setting size/location.static BaseFrame
forName(String classname)
Instantiates the frame.Logger
getLogger()
Returns the logger in use.boolean
getUISettingsApplied()
Returns whether UI settings were applied.String
getUISettingsPrefix()
Returns the prefix for the UI settings.protected void
initGUI()
For initializing the GUI.protected void
initialize()
For initializing members.protected void
initializeLogger()
Initializes the logger.boolean
isLoggingEnabled()
Returns whether logging is enabled.protected void
performInitialization()
Contains all the initialization steps to perform.static BaseFrame
runFrame(Class env, Class app)
Runs the frame from the commandline.void
setBounds(int x, int y, int width, int height)
Updates the bounds of the window.void
setLocationRelativeTo(Component c)
Sets the location relative to this component, but adjust window size and position if necessary.void
setUISettingsPrefix(Class cls)
Sets the prefix for the UI settings (eg stores width/height).void
setUISettingsPrefix(String value)
Sets the prefix for the UI settings (eg stores width/height).void
setVisible(boolean value)
closes/shows the dialog.void
storeUISettings()
Stores the UI settings.-
Methods inherited from class javax.swing.JFrame
addImpl, 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.Frame
addNotify, 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.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, 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, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, 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, 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
-
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
-
-
-
-
Field Detail
-
m_Logger
protected transient Logger m_Logger
for logging.
-
m_UseMaximizationFix
protected static Boolean m_UseMaximizationFix
whether to use the fix.
-
m_MaximizationFixWindowListener
protected MaximizationFixWindowListener m_MaximizationFixWindowListener
the maximization fix listener.
-
m_UISettingsPrefix
protected String m_UISettingsPrefix
the UI settings prefix to use.
-
m_UISettingsStored
protected boolean m_UISettingsStored
whether the UI settings got stored.
-
m_UISettingsApplied
protected boolean m_UISettingsApplied
whether UI settings were applied.
-
-
Constructor Detail
-
BaseFrame
public BaseFrame()
Initializes the frame with no title.
-
BaseFrame
public BaseFrame(String title)
Initializes the frame with the given title.- Parameters:
title
- the title of the frame
-
BaseFrame
public BaseFrame(GraphicsConfiguration gc)
Initializes the frame with no title.- Parameters:
gc
- the graphics configuration to use
-
BaseFrame
public BaseFrame(String title, GraphicsConfiguration gc)
Initializes the frame with the specified title.- Parameters:
title
- the title of the framegc
- the graphics configuration to use
-
-
Method Detail
-
performInitialization
protected void performInitialization()
Contains all the initialization steps to perform.
-
initialize
protected void initialize()
For initializing members.
-
initGUI
protected void initGUI()
For initializing the GUI.
-
setBounds
public void setBounds(int x, int y, int width, int height)
Updates the bounds of the window.
-
finishInit
protected void finishInit()
finishes the initialization, by setting size/location.
-
initializeLogger
protected void initializeLogger()
Initializes the logger.
Default implementation uses the class name.
-
getLogger
public Logger getLogger()
Returns the logger in use.- Specified by:
getLogger
in interfaceLoggingSupporter
- Returns:
- the logger
-
isLoggingEnabled
public boolean isLoggingEnabled()
Returns whether logging is enabled.- Specified by:
isLoggingEnabled
in interfaceLoggingSupporter
- Returns:
- true if not
Level.OFF
-
setUISettingsPrefix
public void setUISettingsPrefix(Class cls)
Sets the prefix for the UI settings (eg stores width/height).- Parameters:
cls
- the class to use as prefix, ignored if null or empty
-
setUISettingsPrefix
public void setUISettingsPrefix(String value)
Sets the prefix for the UI settings (eg stores width/height).- Parameters:
value
- the prefix, ignored if null or empty
-
getUISettingsPrefix
public String getUISettingsPrefix()
Returns the prefix for the UI settings.- Returns:
- the prefix, empty if ignored
-
getUISettingsApplied
public boolean getUISettingsApplied()
Returns whether UI settings were applied. E.g., to determine whether still necessary to set default dimensions/location.- Returns:
- true if applied
-
applyUISettings
public void applyUISettings()
Applies any UI settings if present.
-
storeUISettings
public void storeUISettings()
Stores the UI settings.
-
beforeShow
protected void beforeShow()
Hook method just before the dialog is made visible.
-
afterShow
protected void afterShow()
Hook method just after the dialog was made visible.
-
beforeHide
protected void beforeHide()
Hook method just before the dialog is hidden.
-
afterHide
protected void afterHide()
Hook method just after the dialog was hidden.
-
setVisible
public void setVisible(boolean value)
closes/shows the dialog.- Overrides:
setVisible
in classWindow
- Parameters:
value
- if true then display the dialog, otherwise close it
-
setLocationRelativeTo
public void setLocationRelativeTo(Component c)
Sets the location relative to this component, but adjust window size and position if necessary.- Overrides:
setLocationRelativeTo
in classWindow
- Parameters:
c
- the component to position the window relative to
-
forName
public static BaseFrame forName(String classname)
Instantiates the frame.- Parameters:
classname
- the classname of the frame to instantiate- Returns:
- the instantiated frame or null if an error occurred
-
-