Class WorkbenchFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- org.locationtech.jts.jump.workbench.ui.WorkbenchFrame
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
,ErrorHandler
,LayerViewPanelContext
,ViewportListener
public class WorkbenchFrame extends JFrame implements LayerViewPanelContext, ViewportListener
This class is responsible for the main window of the JUMP application.- 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 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 WorkbenchFrame(String title, ImageIcon icon, WorkbenchContext workbenchContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activateFrame(JInternalFrame frame)
void
addChoosableStyleClass(Class choosableStyleClass)
void
addEasyKeyListener(KeyListener l)
Unlike #add(KeyListener), listeners registered using this method are notified when KeyEvents occur on this frame's child components.void
addInternalFrame(JInternalFrame internalFrame)
If internalFrame is a LayerManagerProxy, the close behaviour will be altered so that the user is prompted if it is the last window on the LayerManager.void
addInternalFrame(JInternalFrame internalFrame, boolean alwaysOnTop, boolean autoUpdateToolBar)
void
addKeyboardShortcut(int keyCode, int modifiers, PlugIn plugIn, EnableCheck enableCheck)
Adds a keyboard shortcut for a plugin.TaskFrame
addTaskFrame()
TaskFrame
addTaskFrame(Task task)
TaskFrame
addTaskFrame(TaskFrame taskFrame)
Task
createTask()
void
displayLastStatusMessage()
void
flash(HTMLFrame frame)
JInternalFrame
getActiveInternalFrame()
ApplicationExitHandler
getApplicationExitHandler()
TitledPopupMenu
getCategoryPopupMenu()
Set
getChoosableStyleClasses()
Fundamental Style classes (like BasicStyle, VertexStyle, and LabelStyle) cannot be removed, and are thus excluded from the choosable Style classes.WorkbenchContext
getContext()
JDesktopPane
getDesktopPane()
int
getEnvelopeRenderingThreshold()
InternalFrameCloseHandler
getInternalFrameCloseHandler()
JInternalFrame[]
getInternalFrames()
LayerNamePanelListener
getLayerNamePanelListener()
TitledPopupMenu
getLayerNamePopupMenu()
LayerViewPanelListener
getLayerViewPanelListener()
String
getLog()
int
getMaximumFeatureExtentForEnvelopeRenderingInPixels()
String
getMBCommittedMemory()
int
getMinimumFeatureExtentForAnyRenderingInPixels()
Map
getNodeClassToPopupMenuMap()
HTMLFrame
getOutputFrame()
WorkbenchToolBar
getToolBar()
TitledPopupMenu
getWMSLayerNamePopupMenu()
void
handleThrowable(Throwable t)
Can be called regardless of whether the current thread is the AWT event dispatch thread.static void
handleThrowable(Throwable t, Component parent)
boolean
hasInternalFrame(JInternalFrame internalFrame)
void
log(String message)
void
removeEasyKeyListener(KeyListener l)
void
removeInternalFrame(JInternalFrame internalFrame)
void
setApplicationExitHandler(ApplicationExitHandler value)
void
setEnvelopeRenderingThreshold(int newEnvelopeRenderingThreshold)
void
setInternalFrameCloseHandler(InternalFrameCloseHandler value)
void
setMaximumFeatureExtentForEnvelopeRenderingInPixels(int newMaximumFeatureExtentForEnvelopeRenderingInPixels)
void
setMinimumFeatureExtentForAnyRenderingInPixels(int newMinimumFeatureExtentForAnyRenderingInPixels)
void
setStatusMessage(String message)
Displays a message indicating the status of current operations, typically in a status bar.void
setTimeMessage(String message)
static String
toMessage(Throwable t)
void
warnUser(String warning)
Notifies the user about a minor issue.void
zoomChanged(org.locationtech.jts.geom.Envelope modelEnvelope)
-
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, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, 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
-
-
-
-
Constructor Detail
-
WorkbenchFrame
public WorkbenchFrame(String title, ImageIcon icon, WorkbenchContext workbenchContext) throws Exception
- Throws:
Exception
-
-
Method Detail
-
addEasyKeyListener
public void addEasyKeyListener(KeyListener l)
Unlike #add(KeyListener), listeners registered using this method are notified when KeyEvents occur on this frame's child components. Note: Bug: KeyListeners registered using this method may receive events multiple times.
-
removeEasyKeyListener
public void removeEasyKeyListener(KeyListener l)
-
getMBCommittedMemory
public String getMBCommittedMemory()
-
setEnvelopeRenderingThreshold
public void setEnvelopeRenderingThreshold(int newEnvelopeRenderingThreshold)
- Parameters:
newEnvelopeRenderingThreshold
- the number of on-screen features above which envelope rendering should occur
-
setMaximumFeatureExtentForEnvelopeRenderingInPixels
public void setMaximumFeatureExtentForEnvelopeRenderingInPixels(int newMaximumFeatureExtentForEnvelopeRenderingInPixels)
-
log
public void log(String message)
-
getLog
public String getLog()
-
setMinimumFeatureExtentForAnyRenderingInPixels
public void setMinimumFeatureExtentForAnyRenderingInPixels(int newMinimumFeatureExtentForAnyRenderingInPixels)
-
displayLastStatusMessage
public void displayLastStatusMessage()
-
setStatusMessage
public void setStatusMessage(String message)
Description copied from interface:LayerViewPanelContext
Displays a message indicating the status of current operations, typically in a status bar.- Specified by:
setStatusMessage
in interfaceLayerViewPanelContext
-
setTimeMessage
public void setTimeMessage(String message)
-
getActiveInternalFrame
public JInternalFrame getActiveInternalFrame()
-
getInternalFrames
public JInternalFrame[] getInternalFrames()
-
getCategoryPopupMenu
public TitledPopupMenu getCategoryPopupMenu()
-
getContext
public WorkbenchContext getContext()
-
getDesktopPane
public JDesktopPane getDesktopPane()
-
getEnvelopeRenderingThreshold
public int getEnvelopeRenderingThreshold()
-
getLayerNamePopupMenu
public TitledPopupMenu getLayerNamePopupMenu()
-
getWMSLayerNamePopupMenu
public TitledPopupMenu getWMSLayerNamePopupMenu()
-
getLayerViewPanelListener
public LayerViewPanelListener getLayerViewPanelListener()
-
getNodeClassToPopupMenuMap
public Map getNodeClassToPopupMenuMap()
-
getLayerNamePanelListener
public LayerNamePanelListener getLayerNamePanelListener()
-
getMaximumFeatureExtentForEnvelopeRenderingInPixels
public int getMaximumFeatureExtentForEnvelopeRenderingInPixels()
-
getMinimumFeatureExtentForAnyRenderingInPixels
public int getMinimumFeatureExtentForAnyRenderingInPixels()
-
getOutputFrame
public HTMLFrame getOutputFrame()
-
getToolBar
public WorkbenchToolBar getToolBar()
-
activateFrame
public void activateFrame(JInternalFrame frame)
-
addInternalFrame
public void addInternalFrame(JInternalFrame internalFrame)
If internalFrame is a LayerManagerProxy, the close behaviour will be altered so that the user is prompted if it is the last window on the LayerManager.
-
addInternalFrame
public void addInternalFrame(JInternalFrame internalFrame, boolean alwaysOnTop, boolean autoUpdateToolBar)
-
addTaskFrame
public TaskFrame addTaskFrame()
-
createTask
public Task createTask()
-
flash
public void flash(HTMLFrame frame)
-
handleThrowable
public void handleThrowable(Throwable t)
Can be called regardless of whether the current thread is the AWT event dispatch thread.- Specified by:
handleThrowable
in interfaceErrorHandler
- Parameters:
t
- Description of the Parameter
-
hasInternalFrame
public boolean hasInternalFrame(JInternalFrame internalFrame)
-
removeInternalFrame
public void removeInternalFrame(JInternalFrame internalFrame)
-
warnUser
public void warnUser(String warning)
Description copied from interface:LayerViewPanelContext
Notifies the user about a minor issue. Subclasses may wish to simply forward the warning to #setStatusMessage.- Specified by:
warnUser
in interfaceLayerViewPanelContext
-
zoomChanged
public void zoomChanged(org.locationtech.jts.geom.Envelope modelEnvelope)
- Specified by:
zoomChanged
in interfaceViewportListener
-
getChoosableStyleClasses
public Set getChoosableStyleClasses()
Fundamental Style classes (like BasicStyle, VertexStyle, and LabelStyle) cannot be removed, and are thus excluded from the choosable Style classes.
-
addChoosableStyleClass
public void addChoosableStyleClass(Class choosableStyleClass)
-
addKeyboardShortcut
public void addKeyboardShortcut(int keyCode, int modifiers, PlugIn plugIn, EnableCheck enableCheck)
Adds a keyboard shortcut for a plugin. logs plugin exceptions. note - attaching to keyCode 'a', modifiers =1 will detect shift-A events. It will *not* detect caps-lock-'a'. This is due to inconsistencies in java.awt.event.KeyEvent. In the unlikely event you actually do want to also also attach to caps-lock-'a', then make two shortcuts - one to keyCode 'a' and modifiers =1 (shift-A) and one to keyCode 'A' and modifiers=0 (caps-lock A). For more details, see the java.awt.event.KeyEvent class - it has a full explaination.- Parameters:
keyCode
- What key to attach to (See java.awt.event.KeyEvent)modifiers
- 0= none, 1=shift, 2= cntrl, 8=alt, 3=shift+cntrl, etc... See the modifier mask constants in the Event classplugIn
- What plugin to executeenableCheck
- Is the key enabled at the moment?
-
getInternalFrameCloseHandler
public InternalFrameCloseHandler getInternalFrameCloseHandler()
-
setInternalFrameCloseHandler
public void setInternalFrameCloseHandler(InternalFrameCloseHandler value)
-
getApplicationExitHandler
public ApplicationExitHandler getApplicationExitHandler()
-
setApplicationExitHandler
public void setApplicationExitHandler(ApplicationExitHandler value)
-
-