Module ij
Package ij.plugin.frame

# Class Recorder

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
ij.plugin.frame.PlugInFrame
ij.plugin.frame.Recorder

All Implemented Interfaces:
  `ImageListener`, `PlugIn`, `ActionListener`, `FocusListener`, `ItemListener`, `WindowListener`, `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`

public class Recorder extends PlugInFrame implements PlugIn, ActionListener, ImageListener, ItemListener
This is ImageJ's macro recorder.

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class java.awt.Frame

`Frame.AccessibleAWTFrame`

## Nested classes/interfaces inherited from class java.awt.Window

`Window.AccessibleAWTWindow, Window.Type`

## Nested classes/interfaces inherited from class java.awt.Container

`Container.AccessibleAWTContainer`

## Nested classes/interfaces inherited from class java.awt.Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

Fields
Modifier and Type
Field
Description
`static boolean`
`record`
This variable is true if the recorder is running.
`static boolean`
`recordInMacros`
Set this variable true to allow recording within IJ.run() calls.

### Fields inherited from class java.awt.Frame

`CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

### Fields inherited from class java.awt.Component

`accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface java.awt.image.ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

## Constructor Summary

Constructors
Constructor
Description
`Recorder()`
`Recorder(boolean showFrame)`

## Method Summary

Modifier and Type
Method
Description
`void`
`actionPerformed(ActionEvent e)`
`void`
`close()`
Closes this window.
`static void`
`disableCommandRecording()`
`static void`
`disablePathRecording()`
Temporarily disables path recording.
`static String`
`fixPath(String path)`
Replaces '\' characters with '/'.
`static String`
`fixString(String str)`
Replaces special characters in a String for creation of a quoted macro String.
`static String`
`getCommand()`
Returns the name of the command currently being recorded, or null.
`static String`
`getCommandOptions()`
Used by GenericDialog to determine if any options have been recorded.
`static Recorder`
`getInstance()`
`String`
`getText()`
`void`
`imageClosed(ImagePlus imp)`
`void`
`imageOpened(ImagePlus imp)`
`void`
`imageUpdated(ImagePlus imp)`
`void`
`itemStateChanged(ItemEvent e)`
`static void`
`record(String method)`
`static void`
`record(String method, double a1, double a2)`
`static void`
`record(String method, int a1)`
`static void`
`record(String method, int a1, int a2)`
`static void`
`record(String method, int a1, int a2, int a3)`
`static void`
`record(String method, int a1, int a2, int a3, int a4)`
`static void`
`record(String method, int a1, int a2, int a3, int a4, double a5)`
`static void`
`record(String method, int a1, int a2, int a3, int a4, int a5)`
`static void`
`record(String method, int a1, int a2, String a3)`
`static void`
`record(String method, String arg)`
`static void`
`record(String method, String a1, int a2)`
`static void`
`record(String method, String args, int a1, int a2)`
`static void`
`record(String method, String arg1, String arg2)`
`static void`
`record(String method, String path, String args, int a1, int a2, int a3, int a4, int a5)`
`static void`
`record(String method, String arg1, String arg2, String arg3)`
`static void`
`recordCall(String call)`
`static void`
`recordCall(String call, boolean recordCommand)`
`static void`
`recordCall(String className, String call)`
`static void`
`recordOpen(String path)`
`static void`
`recordOption(String key)`
`static void`
`recordOption(String key, String value)`
`static void`
`recordPath(String key, String path)`
`static void`
`recordRoi(Roi roi)`
`static void`
`recordRoi(Polygon p, int type)`
`static void`
`recordScriptRoi(Polygon p, int type)`
`static void`
`recordString(String str)`
`static void`
`resetCommandOptions()`
Used by GenericDialog.notifyListeners() to clear the command options.
`static void`
`saveCommand()`
Writes the current command and options to the Recorder window.
`static boolean`
`scriptMode()`
`static void`
`setBackgroundColor(Color c)`
`static void`
`setBlackBackground()`
`static void`
`setCommand(String command)`
Starts recording a command.
`static void`
`setForegroundColor(Color c)`
`void`
`windowActivated(WindowEvent e)`
Override windowActivated in PlugInFrame.

### Methods inherited from class ij.plugin.frame.PlugInFrame

`focusGained, focusLost, run, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened`

### Methods inherited from class java.awt.Frame

`addNotify, getAccessibleContext, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, paramString, remove, removeNotify, setBackground, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

### Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.awt.MenuContainer

`getFont, postEvent`

### Methods inherited from interface ij.plugin.PlugIn

`run`

## Field Details

### record

public static boolean record
This variable is true if the recorder is running.

### recordInMacros

public static boolean recordInMacros
Set this variable true to allow recording within IJ.run() calls.

## Constructor Details

### Recorder

public Recorder()

### Recorder

public Recorder(boolean showFrame)

## Method Details

### record

public static void record(String method)

### setCommand

public static void setCommand(String command)
Starts recording a command. Does nothing if the recorder is not open or the command being recorded has called IJ.run().

### getCommand

public static String getCommand()
Returns the name of the command currently being recorded, or null.

### fixPath

public static String fixPath(String path)
Replaces '\' characters with '/'.

### fixString

public static String fixString(String str)
Replaces special characters in a String for creation of a quoted macro String. Does not add quotes.

### record

public static void record(String method, String arg)

### record

public static void record(String method, String arg1, String arg2)

### record

public static void record(String method, String arg1, String arg2, String arg3)

### record

public static void record(String method, int a1)

### record

public static void record(String method, int a1, int a2)

### record

public static void record(String method, int a1, int a2, String a3)

### record

public static void record(String method, double a1, double a2)

### record

public static void record(String method, int a1, int a2, int a3)

### record

public static void record(String method, String a1, int a2)

### record

public static void record(String method, String args, int a1, int a2)

### record

public static void record(String method, int a1, int a2, int a3, int a4)

### record

public static void record(String method, int a1, int a2, int a3, int a4, int a5)

### record

public static void record(String method, int a1, int a2, int a3, int a4, double a5)

### record

public static void record(String method, String path, String args, int a1, int a2, int a3, int a4, int a5)

### recordString

public static void recordString(String str)

### disableCommandRecording

public static void disableCommandRecording()

### recordCall

public static void recordCall(String call)

### recordCall

public static void recordCall(String call, boolean recordCommand)

### recordCall

public static void recordCall(String className, String call)

### recordRoi

public static void recordRoi(Roi roi)

### recordRoi

public static void recordRoi(Polygon p, int type)

### recordScriptRoi

public static void recordScriptRoi(Polygon p, int type)

### recordOption

public static void recordOption(String key, String value)

### recordOpen

public static void recordOpen(String path)

### recordPath

public static void recordPath(String key, String path)

### recordOption

public static void recordOption(String key)

### saveCommand

public static void saveCommand()
Writes the current command and options to the Recorder window.

### getCommandOptions

public static String getCommandOptions()
Used by GenericDialog to determine if any options have been recorded.

### resetCommandOptions

public static void resetCommandOptions()
Used by GenericDialog.notifyListeners() to clear the command options.

### disablePathRecording

public static void disablePathRecording()
Temporarily disables path recording.

### scriptMode

public static boolean scriptMode()

### actionPerformed

public void actionPerformed(ActionEvent e)

Specified by:
  `actionPerformed` in interface `ActionListener`

### itemStateChanged

public void itemStateChanged(ItemEvent e)

Specified by:
  `itemStateChanged` in interface `ItemListener`

### imageUpdated

public void imageUpdated(ImagePlus imp)

Specified by:
  `imageUpdated` in interface `ImageListener`

### imageOpened

public void imageOpened(ImagePlus imp)

Specified by:
  `imageOpened` in interface `ImageListener`

### imageClosed

public void imageClosed(ImagePlus imp)

Specified by:
  `imageClosed` in interface `ImageListener`

### close

public void close()
Description copied from class: `PlugInFrame`
Closes this window.

Overrides:
  `close` in class `PlugInFrame`

### getText

public String getText()

### getInstance

public static Recorder getInstance()

### setForegroundColor

public static void setForegroundColor(Color c)

### setBackgroundColor

public static void setBackgroundColor(Color c)

### setBlackBackground

public static void setBlackBackground()

### windowActivated

public void windowActivated(WindowEvent e)
Override windowActivated in PlugInFrame.

Specified by:
  `windowActivated` in interface `WindowListener`
Overrides:
  `windowActivated` in class `PlugInFrame`