Class WorkbenchFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- com.vividsolutions.jump.workbench.ui.WorkbenchFrame
-
- All Implemented Interfaces:
ErrorHandler,LayerViewPanelContext,ViewportListener,ImageObserver,MenuContainer,Serializable,Accessible,RootPaneContainer,WindowConstants
public class WorkbenchFrame extends JFrame implements LayerViewPanelContext, ViewportListener, ErrorHandler
This class is responsible for the main window of the JUMP application.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classWorkbenchFrame.ExitPlugin-
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 static StringCOORDINATESstatic StringCOORDINATES_TIPSstatic StringDESKTOPSTATUS_DIVIDER_LOCATIONstatic StringHEIGHT_KEYstatic StringHORIZONTAL_KEYstatic StringMAXIMIZED_KEYstatic StringMEMORY_GCstatic StringMEMORY_TIPSstatic StringSCALEstatic StringSCALE_TIPSstatic StringSTATUSPANEL_DIVIDER_LOCATION_1static StringSTATUSPANEL_DIVIDER_LOCATION_2static StringSTATUSPANEL_DIVIDER_LOCATION_3static StringSTATUSPANEL_DIVIDER_LOCATION_4static StringVERTICAL_KEYstatic StringWIDTH_KEY-
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, WorkbenchContext workbenchContext)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidactivateFrame(JInternalFrame frame)voidaddApplicationExitHandler(ApplicationExitHandler aeh)Adds an ApplicationExitHandler, wich will be executed if the WorkbenchFrame gets closing.voidaddChoosableStyleClass(Class choosableStyleClass)voidaddEasyKeyListener(KeyListener l)Unlike #add(KeyListener), listeners registered using this method are notified when KeyEvents occur on this frame's child components.voidaddEasyKeyListenerToComp(Component c)voidaddInternalFrame(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.voidaddInternalFrame(JInternalFrame internalFrame, boolean alwaysOnTop, boolean autoUpdateToolBar)voidaddKeyboardShortcut(KeyStroke stroke, PlugIn plugIn)Adds a keyboard shortcut for a plugin.TaskFrameaddTaskFrame()TaskFrameaddTaskFrame(Task task)TaskFrameaddTaskFrame(TaskFrame taskFrame)voidaddTaskListener(TaskListener l)Add's a TaskListener, wich will be fired if a Task was added via the WorkbenchFrame.addTaskFrame(TaskFrame taskFrame) or the a Task was loaded completly with all his layers.TaskcreateTask()voiddisplayLastStatusMessage()voidflash(HTMLFrame frame)JInternalFramegetActiveInternalFrame()TaskFramegetActiveTaskFrame()TitledPopupMenugetCategoryPopupMenu()SetgetChoosableStyleClasses()Fundamental Style classes (like BasicStyle, VertexStyle, and LabelStyle) cannot be removed, and are thus excluded from the choosable Style classes.WorkbenchContextgetContext()JDesktopPanegetDesktopPane()intgetEnvelopeRenderingThreshold()InternalFrameCloseHandlergetInternalFrameCloseHandler()JInternalFrame[]getInternalFrames()PlugIngetKeyboardShortcutPlugin(KeyStroke key)Set<KeyStroke>getKeyboardShortcuts()LayerNamePanelListenergetLayerNamePanelListener()TitledPopupMenugetLayerNamePopupMenu()LayerViewPanelListenergetLayerViewPanelListener()intgetMaximumFeatureExtentForEnvelopeRenderingInPixels()StringgetMBCommittedMemory()intgetMinimumFeatureExtentForAnyRenderingInPixels()Map<Class<?>,JPopupMenu>getNodeClassToPopupMenuMap()HTMLFramegetOutputFrame()List<TaskFrame>getTaskFrames()gather a list of open task frames and return themArrayList<TaskListener>getTaskListeners()WorkbenchToolBargetToolBar()TitledPopupMenugetWMSLayerNamePopupMenu()voidhandleThrowable(Throwable t)Can be called regardless of whether the current thread is the AWT event dispatch thread.voidhandleThrowable(Throwable t, Component parent)show a modal error dialog and log the issuebooleanhasInternalFrame(JInternalFrame internalFrame)PointinitWindowLocation()DimensioninitWindowSize()voidlog(String message)Deprecated.- use com.vividsolutions.jump.workbench.Logger insteadvoidlog(String message, Class clazz)Deprecated.- use com.vividsolutions.jump.workbench.Logger insteadvoidlog(String message, Throwable t)Deprecated.- use com.vividsolutions.jump.workbench.Logger insteadvoidremoveApplicationExitHandler(ApplicationExitHandler aeh)Remove's the given ApplicationExitHandler.voidremoveEasyKeyListener(KeyListener l)voidremoveEasyKeyListenerFromComp(Component c)voidremoveInternalFrame(JInternalFrame internalFrame)voidremoveTaskListener(TaskListener l)Remove's a TaskListener.voidrestore()voidsaveWindowState()voidsetActiveTaskFrame(TaskFrame taskFrame)voidsetEnvelopeRenderingThreshold(int newEnvelopeRenderingThreshold)voidsetInternalFrameCloseHandler(InternalFrameCloseHandler value)voidsetMaximumFeatureExtentForEnvelopeRenderingInPixels(int newMaximumFeatureExtentForEnvelopeRenderingInPixels)voidsetMinimumFeatureExtentForAnyRenderingInPixels(int newMinimumFeatureExtentForAnyRenderingInPixels)voidsetScaleText(String message)voidsetStatusMessage(String message)Displays a message indicating the status of current operations, typically in a status bar.voidsetStatusMessage(String message, int millis)voidsetStatusMessage(String msg, int millis, Color color, boolean flash)voidsetStatusMessage(String message, Color color)voidsetTaskFrameFactory(ComponentFactory<TaskFrame> taskFrameFactory)voidsetTimeMessage(String message)voidsetVisible(boolean b)static StringtoMessage(Throwable t)voidwarnUser(String warning)Notifies the user about a minor issue.voidzoomChanged(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, 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
-
MEMORY_GC
public static String MEMORY_GC
-
MEMORY_TIPS
public static String MEMORY_TIPS
-
COORDINATES
public static String COORDINATES
-
COORDINATES_TIPS
public static String COORDINATES_TIPS
-
SCALE
public static String SCALE
-
SCALE_TIPS
public static String SCALE_TIPS
-
MAXIMIZED_KEY
public static final String MAXIMIZED_KEY
-
HORIZONTAL_KEY
public static final String HORIZONTAL_KEY
-
VERTICAL_KEY
public static final String VERTICAL_KEY
-
WIDTH_KEY
public static final String WIDTH_KEY
-
HEIGHT_KEY
public static final String HEIGHT_KEY
-
STATUSPANEL_DIVIDER_LOCATION_1
public static final String STATUSPANEL_DIVIDER_LOCATION_1
-
STATUSPANEL_DIVIDER_LOCATION_2
public static final String STATUSPANEL_DIVIDER_LOCATION_2
-
STATUSPANEL_DIVIDER_LOCATION_3
public static final String STATUSPANEL_DIVIDER_LOCATION_3
-
STATUSPANEL_DIVIDER_LOCATION_4
public static final String STATUSPANEL_DIVIDER_LOCATION_4
-
DESKTOPSTATUS_DIVIDER_LOCATION
public static final String DESKTOPSTATUS_DIVIDER_LOCATION
-
-
Constructor Detail
-
WorkbenchFrame
public WorkbenchFrame(String title, 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)
-
addEasyKeyListenerToComp
public void addEasyKeyListenerToComp(Component c)
-
removeEasyKeyListenerFromComp
public void removeEasyKeyListenerFromComp(Component c)
-
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
@Deprecated public void log(String message)
Deprecated.- use com.vividsolutions.jump.workbench.Logger insteadbackward compatibility log method for legacy code
-
log
@Deprecated public void log(String message, Class clazz)
Deprecated.- use com.vividsolutions.jump.workbench.Logger insteadbackward compatibility log method for legacy code. NOTE: parameter clazz is ignored
-
log
@Deprecated public void log(String message, Throwable t)
Deprecated.- use com.vividsolutions.jump.workbench.Logger insteadbackward compatibility log method for legacy code
-
setMinimumFeatureExtentForAnyRenderingInPixels
public void setMinimumFeatureExtentForAnyRenderingInPixels(int newMinimumFeatureExtentForAnyRenderingInPixels)
-
displayLastStatusMessage
public void displayLastStatusMessage()
-
setStatusMessage
public void setStatusMessage(String message)
Description copied from interface:LayerViewPanelContextDisplays a message indicating the status of current operations, typically in a status bar.- Specified by:
setStatusMessagein interfaceLayerViewPanelContext
-
setStatusMessage
public void setStatusMessage(String message, int millis)
-
setTimeMessage
public void setTimeMessage(String message)
-
setScaleText
public void setScaleText(String message)
-
setVisible
public void setVisible(boolean b)
- Overrides:
setVisiblein classWindow
-
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<Class<?>,JPopupMenu> 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()
-
getTaskFrames
public List<TaskFrame> getTaskFrames()
gather a list of open task frames and return them
-
getActiveTaskFrame
public TaskFrame getActiveTaskFrame()
-
setActiveTaskFrame
public void setActiveTaskFrame(TaskFrame taskFrame)
-
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:
handleThrowablein interfaceErrorHandler- Parameters:
t- Description of the Parameter
-
handleThrowable
public void handleThrowable(Throwable t, Component parent)
show a modal error dialog and log the issue
-
hasInternalFrame
public boolean hasInternalFrame(JInternalFrame internalFrame)
-
removeInternalFrame
public void removeInternalFrame(JInternalFrame internalFrame)
-
warnUser
public void warnUser(String warning)
Description copied from interface:LayerViewPanelContextNotifies the user about a minor issue. Subclasses may wish to simply forward the warning to #setStatusMessage.- Specified by:
warnUserin interfaceLayerViewPanelContext
-
zoomChanged
public void zoomChanged(org.locationtech.jts.geom.Envelope modelEnvelope)
- Specified by:
zoomChangedin 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(KeyStroke stroke, PlugIn plugIn)
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 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 explanation. Adding an existing keystroke overwrites the existing entry. 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 class- Parameters:
stroke- can be created via e.g.KeyStroke.getKeyStroke(int, int)plugIn- which plugin to execute
-
getInternalFrameCloseHandler
public InternalFrameCloseHandler getInternalFrameCloseHandler()
-
setInternalFrameCloseHandler
public void setInternalFrameCloseHandler(InternalFrameCloseHandler value)
-
addApplicationExitHandler
public void addApplicationExitHandler(ApplicationExitHandler aeh)
Adds an ApplicationExitHandler, wich will be executed if the WorkbenchFrame gets closing.- Parameters:
aeh- the ApplicationExitHandler to add
-
removeApplicationExitHandler
public void removeApplicationExitHandler(ApplicationExitHandler aeh)
Remove's the given ApplicationExitHandler.- Parameters:
aeh- the ApplicationExitHandler to remove
-
setTaskFrameFactory
public void setTaskFrameFactory(ComponentFactory<TaskFrame> taskFrameFactory)
- Parameters:
taskFrameFactory- the taskFrameFactory to set
-
saveWindowState
public void saveWindowState()
-
initWindowLocation
public Point initWindowLocation()
-
initWindowSize
public Dimension initWindowSize()
-
restore
public void restore()
-
getTaskListeners
public ArrayList<TaskListener> getTaskListeners()
- Returns:
- the taskListeners
-
addTaskListener
public void addTaskListener(TaskListener l)
Add's a TaskListener, wich will be fired if a Task was added via the WorkbenchFrame.addTaskFrame(TaskFrame taskFrame) or the a Task was loaded completly with all his layers.- Parameters:
l- - The TaskListener to add.
-
removeTaskListener
public void removeTaskListener(TaskListener l)
Remove's a TaskListener.- Parameters:
l- - The TaskListener to add.
-
-