java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JScrollPane
edu.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 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 |
Fields inherited from class javax.swing.JScrollPane |
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport |
Fields inherited from class java.awt.Container |
|
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 |
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 |
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
JConsole
private JConsole()
JConsole
public JConsole(java.io.InputStream cin,
java.io.OutputStream cout,
java.io.InputStream err)
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.