public class JTextAreaExec extends javax.swing.JPanel implements ExecuteCommands
As an alternative to this class, see
StringBufferExec
, which writes to a StringBuffer,
and
StreamExec
, which writes to stderr and stdout.
Loosely based on Example1.java from http://java.sun.com/products/jfc/tsc/articles/threads/threads2.html
See also http://developer.java.sun.com/developer/qow/archive/135/index.jsp (1/11: Broken) and http://jw.itworld.com/javaworld/jw-12-2000/jw-1229-traps.html.
StringBufferExec
,
StreamExec
,
Serialized Formjavax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
JTextAreaExec(java.lang.String name,
boolean showButtons)
Create the JTextArea, progress bar, status text field and
optionally Start, Cancel and Clear buttons.
|
Modifier and Type | Method and Description |
---|---|
void |
appendJTextArea(java.lang.String text)
Append the text message to the JTextArea and include a trailing
newline.
|
void |
appendToPath(java.lang.String directoryName)
Append to the path of the subprocess.
|
void |
cancel()
Cancel any running commands.
|
void |
clear()
Clear the text area, status bar and progress bar.
|
java.lang.String |
getenv(java.lang.String key)
Get the value of the environment of the subprocess.
|
int |
getLastSubprocessReturnCode()
Return the return code of the last subprocess that was executed.
|
javax.swing.JButton |
getStartButton()
Return the Start button.
|
static void |
main(java.lang.String[] args)
Main method used for testing.
|
void |
setCommands(java.util.List commands)
Set the list of commands.
|
void |
setWorkingDirectory(java.io.File workingDirectory)
Set the working directory of the subprocess.
|
void |
start()
Start running the commands.
|
void |
stderr(java.lang.String text)
Append the text message to stderr.
|
void |
stdout(java.lang.String text)
Append the text message to the output.
|
void |
updateStatusBar(java.lang.String text)
Update the status area with the text message.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
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, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public JTextAreaExec(java.lang.String name, boolean showButtons)
name
- A String containing the name to label the JTextArea
with.showButtons
- True if the Start, Cancel and Clear buttons
should be made visible.public void appendJTextArea(java.lang.String text)
text
- The text message to be appended.public void appendToPath(java.lang.String directoryName)
appendToPath
in interface ExecuteCommands
directoryName
- The name of the directory to append to the path.public void cancel()
cancel
in interface ExecuteCommands
public void clear()
clear
in interface ExecuteCommands
public java.lang.String getenv(java.lang.String key)
getenv
in interface ExecuteCommands
key
- The environment variable.public int getLastSubprocessReturnCode()
getLastSubprocessReturnCode
in interface ExecuteCommands
public javax.swing.JButton getStartButton()
public static void main(java.lang.String[] args)
java -classpath $PTII ptolemy.gui.JTextAreaExec
args
- The command line arguments, currently ignored.public void setCommands(java.util.List commands)
setCommands
in interface ExecuteCommands
commands
- a List of Strings, where each element is a command.public void setWorkingDirectory(java.io.File workingDirectory)
setWorkingDirectory
in interface ExecuteCommands
workingDirectory
- The working directory of the
subprocess. If this argument is null, then the subprocess is
executed in the working directory of the current process.public void start()
start
in interface ExecuteCommands
public void stderr(java.lang.String text)
stderr
in interface ExecuteCommands
text
- The text to append to standard error.public void stdout(java.lang.String text)
stdout
in interface ExecuteCommands
text
- The text to append to standard out.public void updateStatusBar(java.lang.String text)
updateStatusBar
in interface ExecuteCommands
text
- The text with which the status area is updated.