org.jext
Class JextFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.jext.JextFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class JextFrame
extends javax.swing.JFrame

Jext is a fully featured, 100% Pure Java, text editor. It has been mainly designed for programmers, and provides also very useful functions for them (syntax colorization, methods seeker, auto indentation...).

Author:
Romain Guy
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
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
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JextFrame()
          Create a new GUI.
JextFrame(java.lang.String[] args)
          Create a new GUI.
 
Method Summary
 void addJextListener(JextListener l)
          Adds a propertiesL listener to this class.
 boolean checkContent(JextTextArea textArea)
          Check if content of text area has to be saved or not.
 void close(JextTextArea textArea)
          Close a specified file and checks if file is dirty first.
 void close(JextTextArea textArea, boolean checkContent)
          Closes a specified file.
 void closeAll()
          Close all the opened files.
 void closeToQuit()
          Close current window after having checked dirty state of each opened file.
 void closeWindow()
          Destroys current window and close JVM.
 void closeWindow(boolean jvm)
          Deprecated. Use closeWindow(), since the JVM is not closed anyway.
 JextTextArea createFile()
          Creates a new empty file.
 void disableSplittedTextArea()
          If user selects a tab containing something different from a text area, we disable 'splitted' one.
protected  void finalize()
          Patch -> Memory management improvements : it may help the garbage collector.
 void fireJextEvent(int type)
          Fires a Jext event.
 void fireJextEvent(JextTextArea textArea, int type)
          Fires a Jext event.
 void freeze()
          Records the componence of the GUI for later restauration.
 boolean getBatchMode()
          Returns batch mode state.
 Console getConsole()
          Some external functions may need to manipulate the console.
 DawnLogWindow getDawnLogWindow()
          The log window is used by scripting actions.
 javax.swing.JFileChooser getFileChooser(int mode)
          Return the JFileChooser object used to open and save documents By maintaining a single file chooser for each instance of Jext instead of creating and disposing one each time a file is opened or saved, we should see a drastic improvement in memory usage
 javax.swing.JTabbedPane getHorizontalTabbedPane()
          Returns the console's tabbed pane.
 InputHandler getInputHandler()
          Returns the input handler.
 JextMenuBar getJextMenuBar()
          Returns Jext menu bar.
 JextToolBar getJextToolBar()
          Get Jext's toolbar
 java.awt.event.KeyListener getKeyEventInterceptor()
          Returns the listener that will handle all key events in this view, if any.
 JextTextArea getNSTextArea()
          Returns current selected text area, excluding the splitted area.
 ProjectManager getProjectManager()
          Returns the current ProjectManager.
 PythonLogWindow getPythonLogWindow()
          The log window is used by scripting actions.
 JextTabbedPane getTabbedPane()
          Returns the tabbed pane in which text areas are put.
 JextTextArea getTextArea()
          Returns current selected text area.
 JextTextArea[] getTextAreas()
          Returns an array containing all the text areas opened in current window.
 javax.swing.JTabbedPane getVerticalTabbedPane()
          Returns the XTree's tabbed pane.
 VirtualFolders getVirtualFolders()
          Returns the Virtual Folders panel.
 Workspaces getWorkspaces()
          Returns the Workspaces panel.
 XTree getXTree()
          Some external functions may need to manipulate the tree.
 void hideWaitCursor()
          Hides the wait cursor.
 void itemAdded(java.awt.Component comp)
          Called after adding a new item to the GUI
 void loadButtonsProperties()
           
 void loadConsoleProperties()
          Load console properties states from the properties file.
 void loadProperties()
          Load options states from the properties file.
 void loadProperties(boolean triggerPanes)
           
 void loadTextArea(JextTextArea textArea)
          Load a given text area properties from the user settings.
 void loadTextAreaProperties()
          Load text area properties states from the properties file.
 JextTextArea open(java.lang.String file)
          Opens a file in a new tabbed pane.
 JextTextArea open(java.lang.String file, boolean addToRecentList)
          Opens a file in a new tabbed pane.
 JextTextArea openForLoading(java.lang.String file)
           
 void processKeyEvent(java.awt.event.KeyEvent evt)
          Forwards key events directly to the input handler.
 void reloadRecent()
          Called by the RecentListener to reload the recent menu.
 void removeAllJextListeners()
          Removes all the listeners associated with this instance.
 void removeJextListener(JextListener l)
          Remove a specified jext listener from the list.
 void removeRecent()
          Clears recent menu.
 void reset()
          Restores the basic GUI.
 void resetStatus(JextTextArea textArea)
          Makes the given text area being considered as non modified.
 void saveRecent(java.lang.String file)
          Saves a file as a recent.
 boolean selectProjectManagement(java.lang.String name)
          Selects the specified form of project management; returns true if successful.
 void setBatchMode(boolean on)
          Set batch mode state.
 void setChanged(JextTextArea textArea)
          When the text change, we warn the user while displaying a text in the lower right corner.
 void setInputHandler(InputHandler inputHandler)
          Sets the input handler.
 void setJextToolBar(JextToolBar bar)
          Set Jext's toolbar.
 void setKeyEventInterceptor(java.awt.event.KeyListener listener)
          Sets the listener that will handle all key events in this view.
 void setNew(JextTextArea textArea)
          When the user create a new file, we need to reset some stuffs such as the bottom labels and the tab icon.
 void setPluginsMenu(javax.swing.JMenu menu)
          Sets the menu to be used as 'plugins'.
 void setRecentMenu(JextRecentMenu menu)
          Sets the menu to be used as 'recent'.
 void setSaved(JextTextArea textArea)
          When the user saves its text, we have to reset modifications done by setChanged().
 void setStatus(JextTextArea textArea)
          Display status of a given text area.
 void setTextAreaName(JextTextArea textArea, java.lang.String name)
          Change the name of specified text area.
 void showWaitCursor()
          Shows the wait cursor.
 void splitEditor()
          Splits/unsplits editor according to the property "editor.splitted".
 void startAutoSave()
          Start the auto saving function.
 void stopAutoSave()
          Stop the auto saving function.
 void triggerTabbedPanes()
          Hides or shows the left and top tabbed panes.
 void updatePluginsMenu()
          Recreates the plugins menu.
 void updateSplittedTextArea(JextTextArea textArea)
          Updates splitted text area to make it edit the same thing as the selected text area.
 void updateStatus(JextTextArea textArea)
          Update status label which displays informations about caret's position.
 
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, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, 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, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, 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, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

JextFrame

public JextFrame()
Create a new GUI.


JextFrame

public JextFrame(java.lang.String[] args)
Create a new GUI.

Parameters:
args - Arguments (to open a file directly)
Method Detail

getTabbedPane

public JextTabbedPane getTabbedPane()
Returns the tabbed pane in which text areas are put.


getVerticalTabbedPane

public javax.swing.JTabbedPane getVerticalTabbedPane()
Returns the XTree's tabbed pane.


getHorizontalTabbedPane

public javax.swing.JTabbedPane getHorizontalTabbedPane()
Returns the console's tabbed pane.


getXTree

public XTree getXTree()
Some external functions may need to manipulate the tree. The XTree itself needs to get other instances to reload'em.

Returns:
Current XTree used by Jext

getVirtualFolders

public VirtualFolders getVirtualFolders()
Returns the Virtual Folders panel.


getWorkspaces

public Workspaces getWorkspaces()
Returns the Workspaces panel.


getConsole

public Console getConsole()
Some external functions may need to manipulate the console. The Scripting system, for instance, need it to launch OS specific commands.

Returns:
Current Console used by Jext

getDawnLogWindow

public DawnLogWindow getDawnLogWindow()
The log window is used by scripting actions.

Returns:
Current DawnLogWindow window used by Jext

getPythonLogWindow

public PythonLogWindow getPythonLogWindow()
The log window is used by scripting actions.

Returns:
Current PythonLogWindow window used by Jext

getFileChooser

public javax.swing.JFileChooser getFileChooser(int mode)
Return the JFileChooser object used to open and save documents By maintaining a single file chooser for each instance of Jext instead of creating and disposing one each time a file is opened or saved, we should see a drastic improvement in memory usage

Parameters:
mode - the mode to open the dialog in
Returns:
the file chooser

setBatchMode

public void setBatchMode(boolean on)
Set batch mode state. Batch mode must be set when several operations are made over many text areas. It avoids tools like JBrowse to perform tasks.


getBatchMode

public boolean getBatchMode()
Returns batch mode state.


getKeyEventInterceptor

public final java.awt.event.KeyListener getKeyEventInterceptor()
Returns the listener that will handle all key events in this view, if any.


setKeyEventInterceptor

public void setKeyEventInterceptor(java.awt.event.KeyListener listener)
Sets the listener that will handle all key events in this view. For example, the complete word command uses this so that all key events are passed to the word list popup while it is visible.

Parameters:
comp - The component

freeze

public void freeze()
Records the componence of the GUI for later restauration. Called after basic initialization of the GUI.


itemAdded

public void itemAdded(java.awt.Component comp)
Called after adding a new item to the GUI


reset

public void reset()
Restores the basic GUI.


setPluginsMenu

public void setPluginsMenu(javax.swing.JMenu menu)
Sets the menu to be used as 'plugins'.

Parameters:
menu - The JMenu used as plugins menu

fireJextEvent

public void fireJextEvent(int type)
Fires a Jext event.

Parameters:
type - Event type

fireJextEvent

public void fireJextEvent(JextTextArea textArea,
                          int type)
Fires a Jext event.

Parameters:
textArea - Related event text area
type - Event type

removeAllJextListeners

public void removeAllJextListeners()
Removes all the listeners associated with this instance.


addJextListener

public void addJextListener(JextListener l)
Adds a propertiesL listener to this class.

Parameters:
l - The JextListener to add

removeJextListener

public void removeJextListener(JextListener l)
Remove a specified jext listener from the list.

Parameters:
l - The listener to remove

loadProperties

public void loadProperties()
Load options states from the properties file. Moreover, it sets up the corresponding internal variables and menu items.


loadProperties

public void loadProperties(boolean triggerPanes)

loadButtonsProperties

public void loadButtonsProperties()

triggerTabbedPanes

public void triggerTabbedPanes()
Hides or shows the left and top tabbed panes.


splitEditor

public void splitEditor()
Splits/unsplits editor according to the property "editor.splitted".


loadConsoleProperties

public void loadConsoleProperties()
Load console properties states from the properties file. Should never been called directly.


loadTextAreaProperties

public void loadTextAreaProperties()
Load text area properties states from the properties file. Should never been called directly.


loadTextArea

public void loadTextArea(JextTextArea textArea)
Load a given text area properties from the user settings.

Parameters:
textArea - The text area which has to be set

updatePluginsMenu

public void updatePluginsMenu()
Recreates the plugins menu.


startAutoSave

public void startAutoSave()
Start the auto saving function. If the Thread used for the auto save is null, we need to create it.


stopAutoSave

public void stopAutoSave()
Stop the auto saving function. We just interrupt the Thread and then 'kill' it.


updateStatus

public void updateStatus(JextTextArea textArea)
Update status label which displays informations about caret's position.

Parameters:
textArea - The text area which caret status has to be updated

setStatus

public void setStatus(JextTextArea textArea)
Display status of a given text area.

Parameters:
textArea - The text area which status has to be displayed

resetStatus

public void resetStatus(JextTextArea textArea)
Makes the given text area being considered as non modified.


setNew

public void setNew(JextTextArea textArea)
When the user create a new file, we need to reset some stuffs such as the bottom labels and the tab icon.

Parameters:
textArea - The text area which was cleared

setChanged

public void setChanged(JextTextArea textArea)
When the text change, we warn the user while displaying a text in the lower right corner.

Parameters:
textArea - The text area which was modified

setSaved

public void setSaved(JextTextArea textArea)
When the user saves its text, we have to reset modifications done by setChanged().


closeToQuit

public void closeToQuit()
Close current window after having checked dirty state of each opened file. It should be called only by Jext.closeToQuit(JextFrame), which also closes Jext if needed, handling all the background server related issues.


closeWindow

public void closeWindow()
Destroys current window and close JVM.


closeWindow

public void closeWindow(boolean jvm)
Deprecated. Use closeWindow(), since the JVM is not closed anyway.

Destroy current window and close JVM if necessary. However the correct way to close a JextFrame (as of Jext3.2pre3) is to call Jext.closeToQuit(JextFrame)

Parameters:
jvm - If true, we terminate the JVM

checkContent

public boolean checkContent(JextTextArea textArea)
Check if content of text area has to be saved or not.

Returns:
true if user want to close the area, false otherwise

setRecentMenu

public void setRecentMenu(JextRecentMenu menu)
Sets the menu to be used as 'recent'.

Parameters:
menu - The JMenu used as recent menu

reloadRecent

public void reloadRecent()
Called by the RecentListener to reload the recent menu.


removeRecent

public void removeRecent()
Clears recent menu.


saveRecent

public void saveRecent(java.lang.String file)
Saves a file as a recent.


showWaitCursor

public void showWaitCursor()
Shows the wait cursor.


hideWaitCursor

public void hideWaitCursor()
Hides the wait cursor.


selectProjectManagement

public boolean selectProjectManagement(java.lang.String name)
Selects the specified form of project management; returns true if successful.

Returns:
boolean.

getProjectManager

public ProjectManager getProjectManager()
Returns the current ProjectManager.

Returns:
ProjectManager.

setJextToolBar

public void setJextToolBar(JextToolBar bar)
Set Jext's toolbar. SHOULD NOT BE CALLED BY AN EXTERNAL PLUGIN !

Parameters:
bar - The new toolbar

getJextToolBar

public JextToolBar getJextToolBar()
Get Jext's toolbar


getJextMenuBar

public JextMenuBar getJextMenuBar()
Returns Jext menu bar.


getTextArea

public JextTextArea getTextArea()
Returns current selected text area.


getNSTextArea

public JextTextArea getNSTextArea()
Returns current selected text area, excluding the splitted area.


getTextAreas

public JextTextArea[] getTextAreas()
Returns an array containing all the text areas opened in current window.


close

public void close(JextTextArea textArea)
Close a specified file and checks if file is dirty first.

Parameters:
textArea - The file to close

close

public void close(JextTextArea textArea,
                  boolean checkContent)
Closes a specified file.

Parameters:
textArea - The file to close
checkContent - If true, Jext check if text area is dirty before saving

closeAll

public void closeAll()
Close all the opened files.


open

public JextTextArea open(java.lang.String file)
Opens a file in a new tabbed pane. In case it is already opened, we ask user if he wants to reload it or open it in a new pane.


open

public JextTextArea open(java.lang.String file,
                         boolean addToRecentList)
Opens a file in a new tabbed pane. In case it is already opened, we ask user if he wants to reload it or open it in a new pane.

Parameters:
addToRecentList - If false, the file name is not added to recent list

openForLoading

public JextTextArea openForLoading(java.lang.String file)

createFile

public JextTextArea createFile()
Creates a new empty file.


setTextAreaName

public void setTextAreaName(JextTextArea textArea,
                            java.lang.String name)
Change the name of specified text area.

Parameters:
textArea - The area which name is to be changed
name - The new title which will appear on the tab

updateSplittedTextArea

public void updateSplittedTextArea(JextTextArea textArea)
Updates splitted text area to make it edit the same thing as the selected text area.

Parameters:
textArea - The text area which has to be linked with

disableSplittedTextArea

public void disableSplittedTextArea()
If user selects a tab containing something different from a text area, we disable 'splitted' one.


getInputHandler

public final InputHandler getInputHandler()
Returns the input handler.


setInputHandler

public void setInputHandler(InputHandler inputHandler)
Sets the input handler.

Parameters:
inputHandler - The new input handler

processKeyEvent

public void processKeyEvent(java.awt.event.KeyEvent evt)
Forwards key events directly to the input handler. This is slightly faster than using a KeyListener because some Swing overhead is avoided.

Overrides:
processKeyEvent in class java.awt.Component

finalize

protected void finalize()
                 throws java.lang.Throwable
Patch -> Memory management improvements : it may help the garbage collector. -> Author : Julien Ponge (julien@izforge.com) -> Date : 23, May 2001

Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable


Copyright ? 2002 Romain Guy.