bsh.util
Class JConsole

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JScrollPane
                          |
                          +--bsh.util.JConsole
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, ConsoleInterface, java.util.EventListener, GUIConsoleInterface, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.beans.PropertyChangeListener, java.lang.Runnable, javax.swing.ScrollPaneConstants, java.io.Serializable

public class JConsole
extends javax.swing.JScrollPane
implements GUIConsoleInterface, java.lang.Runnable, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.ActionListener, java.beans.PropertyChangeListener

A JFC/Swing based console for the BeanShell desktop. This is a descendant of the old AWTConsole. Improvements by: Mark Donszelmann including Cut & Paste Improvements by: Daniel Leuck including Color and Image support, key press bug workaround

See Also:
Serialized Form

Nested Class Summary
static class JConsole.BlockingPipedInputStream
          The overridden read method in this class will not throw "Broken pipe" IOExceptions; It will simply wait for new writers and data.
 
Field Summary
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JConsole()
           
JConsole(java.io.InputStream cin, java.io.OutputStream cout)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
           
 void error(java.lang.String s)
           
 java.io.PrintStream getErr()
           
 java.io.Reader getIn()
           
 java.io.InputStream getInputStream()
           
 java.io.PrintStream getOut()
           
 javax.swing.text.AttributeSet getStyle()
           
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent event)
           
 void mouseEntered(java.awt.event.MouseEvent event)
           
 void mouseExited(java.awt.event.MouseEvent event)
           
 void mousePressed(java.awt.event.MouseEvent event)
           
 void mouseReleased(java.awt.event.MouseEvent event)
           
 void print(javax.swing.Icon icon)
           
 void print(java.lang.Object object)
          Prints the primitive type "float" (needed because of float->double coercion weirdness) public void println(float f) { println(String.valueOf(f)); }
 void print(java.lang.Object s, java.awt.Color color)
           
 void print(java.lang.Object s, java.awt.Font font)
          Prints the primitive type "float" (needed because of float->double coercion weirdness) public void print(float f) { print(String.valueOf(f)); }
 void print(java.lang.Object s, java.awt.Font font, java.awt.Color color)
           
 void print(java.lang.Object s, java.lang.String fontFamilyName, int size, java.awt.Color color)
           
 void print(java.lang.Object s, java.lang.String fontFamilyName, int size, java.awt.Color color, boolean bold, boolean italic, boolean underline)
           
 void print(java.lang.String string)
           
 void print(java.lang.String s, java.awt.Color color)
           
 void println()
          Prints "\\n" (i.e.
 void println(javax.swing.Icon icon)
           
 void println(java.lang.Object object)
           
 void println(java.lang.String string)
           
 void propertyChange(java.beans.PropertyChangeEvent event)
           
 void run()
           
 void setFont(java.awt.Font font)
           
 void setNameCompletion(NameCompletion nc)
           
 void setStyle(javax.swing.text.AttributeSet attributes)
           
 void setStyle(javax.swing.text.AttributeSet attributes, boolean overWrite)
           
 javax.swing.text.AttributeSet setStyle(java.awt.Color color)
           
 javax.swing.text.AttributeSet setStyle(java.awt.Font font)
           
 javax.swing.text.AttributeSet setStyle(java.awt.Font font, java.awt.Color color)
           
 javax.swing.text.AttributeSet setStyle(java.lang.String fontFamilyName, int size, java.awt.Color color)
           
 javax.swing.text.AttributeSet setStyle(java.lang.String fontFamilyName, int size, java.awt.Color color, boolean bold, boolean italic, boolean underline)
           
 void setWaitFeedback(boolean on)
          e.g.
 java.lang.String toString()
           
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, transferFocusBackward, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JConsole

public JConsole()

JConsole

public JConsole(java.io.InputStream cin,
                java.io.OutputStream cout)
Method Detail

getInputStream

public java.io.InputStream getInputStream()

getIn

public java.io.Reader getIn()
Specified by:
getIn in interface ConsoleInterface

getOut

public java.io.PrintStream getOut()
Specified by:
getOut in interface ConsoleInterface

getErr

public java.io.PrintStream getErr()
Specified by:
getErr in interface ConsoleInterface

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

println

public void println(java.lang.String string)
Specified by:
println in interface ConsoleInterface

print

public void print(java.lang.String string)
Specified by:
print in interface ConsoleInterface

println

public void println()
Prints "\\n" (i.e. newline)


error

public void error(java.lang.String s)
Specified by:
error in interface ConsoleInterface

println

public void println(java.lang.Object object)

println

public void println(javax.swing.Icon icon)

print

public void print(java.lang.Object object)
Prints the primitive type "float" (needed because of float->double coercion weirdness) public void println(float f) { println(String.valueOf(f)); }


print

public void print(javax.swing.Icon icon)

print

public void print(java.lang.Object s,
                  java.awt.Font font)
Prints the primitive type "float" (needed because of float->double coercion weirdness) public void print(float f) { print(String.valueOf(f)); }


print

public void print(java.lang.Object s,
                  java.awt.Color color)

print

public void print(java.lang.String s,
                  java.awt.Color color)
Specified by:
print in interface GUIConsoleInterface

print

public void print(java.lang.Object s,
                  java.awt.Font font,
                  java.awt.Color color)

print

public void print(java.lang.Object s,
                  java.lang.String fontFamilyName,
                  int size,
                  java.awt.Color color)

print

public void print(java.lang.Object s,
                  java.lang.String fontFamilyName,
                  int size,
                  java.awt.Color color,
                  boolean bold,
                  boolean italic,
                  boolean underline)

setStyle

public javax.swing.text.AttributeSet setStyle(java.awt.Font font)

setStyle

public javax.swing.text.AttributeSet setStyle(java.awt.Color color)

setStyle

public javax.swing.text.AttributeSet setStyle(java.awt.Font font,
                                              java.awt.Color color)

setStyle

public javax.swing.text.AttributeSet setStyle(java.lang.String fontFamilyName,
                                              int size,
                                              java.awt.Color color)

setStyle

public javax.swing.text.AttributeSet setStyle(java.lang.String fontFamilyName,
                                              int size,
                                              java.awt.Color color,
                                              boolean bold,
                                              boolean italic,
                                              boolean underline)

setStyle

public void setStyle(javax.swing.text.AttributeSet attributes)

setStyle

public void setStyle(javax.swing.text.AttributeSet attributes,
                     boolean overWrite)

getStyle

public javax.swing.text.AttributeSet getStyle()

setFont

public void setFont(java.awt.Font font)
Overrides:
setFont in class javax.swing.JComponent

run

public void run()
Specified by:
run in interface java.lang.Runnable

toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Specified by:
mouseExited in interface java.awt.event.MouseListener

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent event)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

setNameCompletion

public void setNameCompletion(NameCompletion nc)
Specified by:
setNameCompletion in interface GUIConsoleInterface

setWaitFeedback

public void setWaitFeedback(boolean on)
Description copied from interface: GUIConsoleInterface
e.g. the wait cursor

Specified by:
setWaitFeedback in interface GUIConsoleInterface


2000 pat@pat.net :-)