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 Form| Red (cxh) |
| Red (cxh) |
javax.swing.JPanel.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponentlistenerList, 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, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocusUpCyclepublic 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 ExecuteCommandsdirectoryName - The name of the directory to append to the path.public void cancel()
cancel in interface ExecuteCommandspublic void clear()
clear in interface ExecuteCommandspublic java.lang.String getenv(java.lang.String key)
getenv in interface ExecuteCommandskey - The environment variable.public int getLastSubprocessReturnCode()
getLastSubprocessReturnCode in interface ExecuteCommandspublic 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 ExecuteCommandscommands - a List of Strings, where each element is a command.public void setWorkingDirectory(java.io.File workingDirectory)
setWorkingDirectory in interface ExecuteCommandsworkingDirectory - 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 ExecuteCommandspublic void stderr(java.lang.String text)
stderr in interface ExecuteCommandstext - The text to append to standard error.public void stdout(java.lang.String text)
stdout in interface ExecuteCommandstext - The text to append to standard out.public void updateStatusBar(java.lang.String text)
updateStatusBar in interface ExecuteCommandstext - The text with which the status area is updated.