Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

edu.emory.mathcs.util.swing
Class JConsole  view JConsole download JConsole.java

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JScrollPane
                  extended byedu.emory.mathcs.util.swing.JConsole
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, 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 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


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.
(package private)  class JConsole.ErrPipeWatcher
           
 
Nested classes inherited from class javax.swing.JScrollPane
javax.swing.JScrollPane.AccessibleJScrollPane, javax.swing.JScrollPane.ScrollBar
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  int cmdStart
           
private  javax.swing.JFrame console
           
private static java.lang.String COPY
           
private static java.lang.String CUT
           
private  javax.swing.text.DefaultStyledDocument doc
           
private  java.io.InputStream err
           
private  java.io.InputStream errPipe
           
private  boolean gotUp
           
private  int histLine
           
private  java.util.Vector history
           
private  java.io.InputStream in
           
private  java.io.InputStream inPipe
           
private  javax.swing.JPopupMenu menu
           
private  java.io.PrintStream out
           
private  java.io.OutputStream outPipe
           
private static java.lang.String PASTE
           
(package private)  int SHOW_AMBIG_MAX
           
private  java.lang.String startedLine
           
private  boolean stopListening
           
private  javax.swing.JTextPane text
           
 
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.Container
 
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
private JConsole()
           
  JConsole(java.io.InputStream cin, java.io.OutputStream cout, java.io.InputStream err)
           
 
Method Summary
private  void acceptLine(java.lang.String line)
           
 void actionPerformed(java.awt.event.ActionEvent event)
          This method is invoked when an action occurs.
private  void append(java.lang.String string)
           
private  void enter()
           
 void error(java.lang.String s)
           
private  void forceCaretMoveToEnd()
           
private  void forceCaretMoveToStart()
           
private  java.lang.String getCmd()
           
 java.io.PrintStream getErr()
           
 java.io.Reader getIn()
           
 java.io.InputStream getInputStream()
           
 java.io.PrintStream getOut()
           
 javax.swing.text.AttributeSet getStyle()
           
 void hide()
          Hides this component so that it is no longer shown on the screen.
private  void historyDown()
           
private  void historyUp()
           
private  void inPipeWatcher()
           
 void keyPressed(java.awt.event.KeyEvent e)
          This method is called when a key is pressed.
 void keyReleased(java.awt.event.KeyEvent e)
          This method is called when a key is released.
 void keyTyped(java.awt.event.KeyEvent e)
          This method is called when a key is typed.
 void mouseClicked(java.awt.event.MouseEvent event)
          This method is called when the mouse is clicked (pressed and released in short succession) on a component.
 void mouseEntered(java.awt.event.MouseEvent event)
          This method is called when the mouse enters a component.
 void mouseExited(java.awt.event.MouseEvent event)
          This method is called when the mouse exits a component.
 void mousePressed(java.awt.event.MouseEvent event)
          This method is called when the mouse is pressed over a component.
 void mouseReleased(java.awt.event.MouseEvent event)
          This method is called when the mouse is released over a component.
 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)
          Fired after a Bean's property has changed.
(package private)  java.lang.String replaceRange(java.lang.Object s, int start, int end)
           
private  void resetCommandStart()
           
 void run()
          This method will be called by whoever wishes to run your class implementing Runnable.
 void setFont(java.awt.Font font)
          Set the value of the font property.
 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)
           
 void show(java.awt.Component parent, java.lang.String title)
           
 void show(java.lang.String title)
           
private  void showHistoryLine()
           
 java.lang.String toString()
          Returns a string representation of this component.
private  void type(java.awt.event.KeyEvent e)
           
 
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, 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, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CUT

private static final java.lang.String CUT
See Also:
Constant Field Values

COPY

private static final java.lang.String COPY
See Also:
Constant Field Values

PASTE

private static final java.lang.String PASTE
See Also:
Constant Field Values

outPipe

private java.io.OutputStream outPipe

inPipe

private java.io.InputStream inPipe

in

private java.io.InputStream in

out

private java.io.PrintStream out

errPipe

private java.io.InputStream errPipe

err

private java.io.InputStream err

cmdStart

private int cmdStart

history

private java.util.Vector history

startedLine

private java.lang.String startedLine

histLine

private int histLine

stopListening

private boolean stopListening

menu

private javax.swing.JPopupMenu menu

text

private javax.swing.JTextPane text

doc

private javax.swing.text.DefaultStyledDocument doc

SHOW_AMBIG_MAX

final int SHOW_AMBIG_MAX
See Also:
Constant Field Values

gotUp

private boolean gotUp

console

private final javax.swing.JFrame console
Constructor Detail

JConsole

private JConsole()

JConsole

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

getInputStream

public java.io.InputStream getInputStream()

getIn

public java.io.Reader getIn()

getOut

public java.io.PrintStream getOut()

getErr

public java.io.PrintStream getErr()

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Description copied from interface: java.awt.event.KeyListener
This method is called when a key is pressed.

Specified by:
keyPressed in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Description copied from interface: java.awt.event.KeyListener
This method is called when a key is typed. A key is considered typed when it and all modifiers have been pressed and released, mapping to a single virtual key.

Specified by:
keyTyped in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Description copied from interface: java.awt.event.KeyListener
This method is called when a key is released.

Specified by:
keyReleased in interface java.awt.event.KeyListener

type

private void type(java.awt.event.KeyEvent e)

resetCommandStart

private void resetCommandStart()

append

private void append(java.lang.String string)

replaceRange

java.lang.String replaceRange(java.lang.Object s,
                              int start,
                              int end)

forceCaretMoveToEnd

private void forceCaretMoveToEnd()

forceCaretMoveToStart

private void forceCaretMoveToStart()

enter

private void enter()

getCmd

private java.lang.String getCmd()

historyUp

private void historyUp()

historyDown

private void historyDown()

showHistoryLine

private void showHistoryLine()

acceptLine

private void acceptLine(java.lang.String line)

println

public void println(java.lang.String string)

print

public void print(java.lang.String string)

println

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


error

public void error(java.lang.String s)

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)

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)
Description copied from class: javax.swing.JComponent
Set the value of the font property.


inPipeWatcher

private void inPipeWatcher()
                    throws java.io.IOException

run

public void run()
Description copied from interface: java.lang.Runnable
This method will be called by whoever wishes to run your class implementing Runnable. Note that there are no restrictions on what you are allowed to do in the run method, except that you cannot throw a checked exception.

Specified by:
run in interface java.lang.Runnable

toString

public java.lang.String toString()
Description copied from class: java.awt.Component
Returns a string representation of this component. This is implemented as getClass().getName() + '[' + paramString() + ']'.


mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Description copied from interface: java.awt.event.MouseListener
This method is called when the mouse is clicked (pressed and released in short succession) on a component.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
Description copied from interface: java.awt.event.MouseListener
This method is called when the mouse is pressed over a component.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
Description copied from interface: java.awt.event.MouseListener
This method is called when the mouse is released over a component.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
Description copied from interface: java.awt.event.MouseListener
This method is called when the mouse enters a component.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Description copied from interface: java.awt.event.MouseListener
This method is called when the mouse exits a component.

Specified by:
mouseExited in interface java.awt.event.MouseListener

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent event)
Description copied from interface: java.beans.PropertyChangeListener
Fired after a Bean's property has changed.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Description copied from interface: java.awt.event.ActionListener
This method is invoked when an action occurs.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

setWaitFeedback

public void setWaitFeedback(boolean on)

show

public void show(java.lang.String title)

show

public void show(java.awt.Component parent,
                 java.lang.String title)

hide

public void hide()
Description copied from class: java.awt.Component
Hides this component so that it is no longer shown on the screen.