Class ScriptConsole

  • All Implemented Interfaces:
    TrackedWindow, IconProvider, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class ScriptConsole
    extends ToolWindow
    implements TrackedWindow
    A window that provides a console that can be written to. The console supports both an output stream and an error stream, each of which is displayed in its own style in the window. Plain text output sent to the console will also be sent to the standard output/standard error streams. In addition to supporting plain text, is possible to write null images, user interface components, and blocks of simple HTML code to the console.

    The console recognizes text patterns characteristic of the stack trace elements printed when an exception is thrown, and is capable of opening the associated source files.

    Note: Instead of creating a new console window, use the shared console created by the scripting system.

    Author:
    Chris Jennings
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  ScriptConsole.ConsolePrintWriter  
      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • 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
      ScriptConsole​(java.awt.Frame parent)
      Creates new output console window.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void clear()  
      void flush()
      Flush all pending console output.
      ConsoleErrorLocation getErrorAtOffset​(int pos)
      Returns a description of the error at the line at offset pos in the script console's text, or null if that line is not a stack trace line.
      ConsoleErrorLocation getErrorAtPoint​(java.awt.geom.Point2D p)
      Returns a description of the error at the offset into the console text under the specified point in the console window.
      ConsoleErrorLocation getErrorAtPoint​(java.awt.Point p)
      Deprecated. 
      java.io.OutputStream getErrorStream()
      Returns an output stream that can be used to write to the stderr stream of the console.
      ScriptConsole.ConsolePrintWriter getErrorWriter()
      Returns a PrintWriter that can be used to write to the stderr stream of the console.
      java.lang.Object getHistoryText()
      Returns the current console text.
      javax.swing.Icon getIcon()  
      java.io.OutputStream getInfoStream()
      Returns an output stream that can be used to write to the stdout "information" stream of the console.
      ScriptConsole.ConsolePrintWriter getInfoWriter()
      Returns a PrintWriter that can be used to write to the stdout "information" stream of the console.
      java.io.OutputStream getOutputStream()
      Returns an output stream that can be used to write to the stdout stream of the console.
      java.io.OutputStream getWarningStream()
      Returns an output stream that can be used to write to the stderr "warning" stream of the console.
      ScriptConsole.ConsolePrintWriter getWarningWriter()
      Returns a PrintWriter that can be used to write to the stderr "warning" stream of the console.
      ScriptConsole.ConsolePrintWriter getWriter()
      Returns a PrintWriter that can be used to write to the stdout stream of the console.
      void queue()
      Request that writes to the stdout stream of this console be queued up until a subsequent call to flush().
      void scrollToBottom()
      Moves the scrollbar to the last line.
      void scrollToTop()
      Moves the scrollbar to the first line.
      void setVisible​(boolean visible)
      Makes the tracked window visible or invisible.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setShape, setUndecorated, show, toBack
      • 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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, remove, 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
    • Constructor Detail

      • ScriptConsole

        public ScriptConsole​(java.awt.Frame parent)
        Creates new output console window.
    • Method Detail

      • setVisible

        public void setVisible​(boolean visible)
        Description copied from interface: TrackedWindow
        Makes the tracked window visible or invisible.
        Specified by:
        setVisible in interface TrackedWindow
        Overrides:
        setVisible in class ToolWindow
        Parameters:
        visible - whether the window should be made visible
      • getOutputStream

        public java.io.OutputStream getOutputStream()
        Returns an output stream that can be used to write to the stdout stream of the console. No translation is performed on the bytes written to this stream.
        Returns:
        the console's output stream
      • getInfoStream

        public java.io.OutputStream getInfoStream()
        Returns an output stream that can be used to write to the stdout "information" stream of the console.
        Returns:
        the console's output stream
      • getWarningStream

        public java.io.OutputStream getWarningStream()
        Returns an output stream that can be used to write to the stderr "warning" stream of the console.
        Returns:
        the console's output stream
      • getErrorStream

        public java.io.OutputStream getErrorStream()
        Returns an output stream that can be used to write to the stderr stream of the console. No translation is performed on the bytes written to this stream.
        Returns:
        the console's error stream
      • flush

        public void flush()
        Flush all pending console output.
      • queue

        public void queue()
        Request that writes to the stdout stream of this console be queued up until a subsequent call to flush(). It is not always possible to obey this request.
      • clear

        public void clear()
      • getHistoryText

        public java.lang.Object getHistoryText()
        Returns the current console text.
        Returns:
        the text of the console
      • scrollToTop

        public void scrollToTop()
        Moves the scrollbar to the first line.
      • scrollToBottom

        public void scrollToBottom()
        Moves the scrollbar to the last line.
      • getErrorAtPoint

        @Deprecated
        public ConsoleErrorLocation getErrorAtPoint​(java.awt.Point p)
        Deprecated.
        Returns a description of the error at the offset into the console text under the specified point in the console window. Returns null if the line at that point does not represent a valid stack trace entry.
        Parameters:
        p - the point over the script console
        Returns:
        a description of the stack trace element at that line, or null
        See Also:
        getErrorAtOffset(int)
      • getErrorAtPoint

        public ConsoleErrorLocation getErrorAtPoint​(java.awt.geom.Point2D p)
        Returns a description of the error at the offset into the console text under the specified point in the console window. Returns null if the line at that point does not represent a valid stack trace entry.
        Parameters:
        p - the point over the script console
        Returns:
        a description of the stack trace element at that line, or null
        See Also:
        getErrorAtOffset(int)
      • getErrorAtOffset

        public ConsoleErrorLocation getErrorAtOffset​(int pos)
        Returns a description of the error at the line at offset pos in the script console's text, or null if that line is not a stack trace line. The script console does not remember which lines are produced from a script stack trace. Rather, it attempts to parse lines on demand to extract the needed information. Therefore it can be fooled by lines that closely mimic the format of script stack traces.

        If the line at the requested position cannot be parsed as a script stack trace, then the immediately following line will also be tried. This is a convenience in case the requested line is the line of the error message rather than a trace element.

        Parameters:
        pos - the offset into the console text
        Returns:
        a description of the stack trace element at that line, or null