Class SwingGui
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
org.htmlunit.corejs.javascript.tools.debugger.SwingGui
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,RootPaneContainer
,WindowConstants
,GuiCallback
GUI for the Rhino debugger.
- See Also:
-
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
FieldsModifier and TypeFieldDescriptionprivate EventQueue
The AWT EventQueue.private JSInternalConsole
The console that displays I/O from the script.private ContextWindow
TheJPanel
that shows information about the context.private FileWindow
TheFileWindow
that last had the focus.private JDesktopPane
TheJDesktopPane
that holds the script windows.(package private) Dim
The debugger.(package private) JFileChooser
File choose dialog for loading a script.private Runnable
The action to run when the 'Exit' menu item is chosen or the frame is closed.private final Map
<String, FileWindow> Hash table of script URLs to their internal frames.private Menubar
The menu bar.private static final long
Serializable magic number.private JSplitPane
private JLabel
The status bar.private JToolBar
The tool bar.Hash table of internal frame names to the internal frames themselves.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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
Performs an action from the menu or toolbar.(package private) void
addTopLevel
(String key, JFrame frame) Records a new internal frame.private String
chooseFile
(String title) Displays aJFileChooser
and returns the selected filename.protected void
createFileWindow
(Dim.SourceInfo sourceInfo, int line) Creates and shows a newFileWindow
for the given source.void
Processes the next GUI event.void
enterInterrupt
(Dim.StackFrame lastFrame, String threadTitle, String alertMessage) Called when the interrupt loop has been entered.(package private) void
enterInterruptImpl
(Dim.StackFrame lastFrame, String threadTitle, String alertMessage) Handles script interruption.private void
exit()
Runs theexitAction
.Returns the debugger console component.(package private) FileWindow
getFileWindow
(String url) Returns theFileWindow
for the given URL.Returns the Menubar of this debugger frame.private JInternalFrame
Returns the current selected internal frame.(package private) static String
getShortName
(String url) Returns a short version of the given URL.private JMenu
Returns the 'Window' menu.private void
init()
Constructs the debugger GUI.boolean
Returns whether the current thread is the GUI event thread.private String
Reads the file with the given name and returns its contents as a String.(package private) void
Closes the givenFileWindow
.void
Sets theRunnable
that will be run when the "Exit" menu item is chosen.private void
setFilePosition
(FileWindow w, int line) Moves the current position in the givenFileWindow
to the given line.(package private) static void
setResizeWeight
(JSplitPane pane, double weight) CallsJSplitPane.setResizeWeight(double)
via reflection.void
setVisible
(boolean b) Sets the visibility of the debugger GUI.protected void
showFileWindow
(String sourceUrl, int lineNumber) Shows aFileWindow
for the given source, creating it if it doesn't exist yet.(package private) void
showStopLine
(Dim.StackFrame frame) Shows the line at which execution in the given stack frame just stopped.private void
updateEnabled
(boolean interrupted) Enables or disables the menu and tool bars with respect to the state of script execution.protected boolean
updateFileWindow
(Dim.SourceInfo sourceInfo) Update the source text forsourceInfo
.void
updateSourceText
(Dim.SourceInfo sourceInfo) Called when the source text for a script has been updated.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 Details
-
serialVersionUID
private static final long serialVersionUIDSerializable magic number.- See Also:
-
dim
Dim dimThe debugger. -
exitAction
The action to run when the 'Exit' menu item is chosen or the frame is closed. -
desk
TheJDesktopPane
that holds the script windows. -
context
TheJPanel
that shows information about the context. -
toolBar
The tool bar. -
console
The console that displays I/O from the script. -
split1
-
statusBar
The status bar. -
toplevels
Hash table of internal frame names to the internal frames themselves. -
fileWindows
Hash table of script URLs to their internal frames. -
currentWindow
TheFileWindow
that last had the focus. -
dlg
JFileChooser dlgFile choose dialog for loading a script. -
awtEventQueue
The AWT EventQueue. Used for manually pumping AWT events fromdispatchNextGuiEvent()
.
-
-
Constructor Details
-
SwingGui
Creates a new SwingGui.
-
-
Method Details
-
getMenubar
Returns the Menubar of this debugger frame. -
setExitAction
Sets theRunnable
that will be run when the "Exit" menu item is chosen. -
getConsole
Returns the debugger console component. -
setVisible
public void setVisible(boolean b) Sets the visibility of the debugger GUI.- Overrides:
setVisible
in classWindow
-
addTopLevel
Records a new internal frame. -
init
private void init()Constructs the debugger GUI. -
exit
private void exit()Runs theexitAction
. -
getFileWindow
Returns theFileWindow
for the given URL. -
getShortName
Returns a short version of the given URL. -
removeWindow
Closes the givenFileWindow
. -
showStopLine
Shows the line at which execution in the given stack frame just stopped. -
showFileWindow
Shows aFileWindow
for the given source, creating it if it doesn't exist yet. iflineNumber
is greater than -1, it indicates the line number to select and display.- Parameters:
sourceUrl
- the source URLlineNumber
- the line number to select, or -1
-
createFileWindow
Creates and shows a newFileWindow
for the given source. -
updateFileWindow
Update the source text forsourceInfo
. This returns true if aFileWindow
for the given source exists and could be updated. Otherwise, this does nothing and returns false.- Parameters:
sourceInfo
- the source info- Returns:
- true if a
FileWindow
for the given source exists and could be updated, false otherwise.
-
setFilePosition
Moves the current position in the givenFileWindow
to the given line. -
enterInterruptImpl
Handles script interruption. -
getWindowMenu
Returns the 'Window' menu. -
chooseFile
Displays aJFileChooser
and returns the selected filename. -
getSelectedFrame
Returns the current selected internal frame. -
updateEnabled
private void updateEnabled(boolean interrupted) Enables or disables the menu and tool bars with respect to the state of script execution. -
setResizeWeight
CallsJSplitPane.setResizeWeight(double)
via reflection. For compatibility, since JDK < 1.3 does not have this method. -
readFile
Reads the file with the given name and returns its contents as a String. -
updateSourceText
Called when the source text for a script has been updated.- Specified by:
updateSourceText
in interfaceGuiCallback
-
enterInterrupt
Called when the interrupt loop has been entered.- Specified by:
enterInterrupt
in interfaceGuiCallback
-
isGuiEventThread
public boolean isGuiEventThread()Returns whether the current thread is the GUI event thread.- Specified by:
isGuiEventThread
in interfaceGuiCallback
-
dispatchNextGuiEvent
Processes the next GUI event.- Specified by:
dispatchNextGuiEvent
in interfaceGuiCallback
- Throws:
InterruptedException
-
actionPerformed
Performs an action from the menu or toolbar.
-