public class GenericDialog
extends java.awt.Dialog
implements java.awt.event.ActionListener, java.awt.event.TextListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.AdjustmentListener, java.awt.event.WindowListener
public class Generic_Dialog_Example implements PlugIn { static String title="Example"; static int width=512,height=512; public void run(String arg) { GenericDialog gd = new GenericDialog("New Image"); gd.addStringField("Title: ", title); gd.addNumericField("Width: ", width, 0); gd.addNumericField("Height: ", height, 0); gd.showDialog(); if (gd.wasCanceled()) return; title = gd.getNextString(); width = (int)gd.getNextNumber(); height = (int)gd.getNextNumber(); IJ.newImage(title, "8-bit", width, height, 1); } }To work with macros, the first word of each component label must be unique. If this is not the case, add underscores, which will be converted to spaces when the dialog is displayed. For example, change the checkbox labels "Show Quality" and "Show Residue" to "Show_Quality" and "Show_Residue".
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
protected java.util.Vector |
checkbox |
protected java.util.Vector |
choice |
protected java.util.Vector |
defaultText |
protected java.util.Vector |
defaultValues |
static int |
MAX_SLIDERS |
protected java.util.Vector |
numberField |
protected java.util.Vector |
radioButtonGroups |
protected java.util.Vector |
slider |
protected java.util.Vector |
stringField |
protected java.awt.TextArea |
textArea1 |
protected java.awt.TextArea |
textArea2 |
protected java.awt.Component |
theLabel |
Constructor and Description |
---|
GenericDialog() |
GenericDialog(java.lang.String title)
Creates a new GenericDialog with the specified title.
|
GenericDialog(java.lang.String title,
java.awt.Frame parent)
Creates a new GenericDialog using the specified title and parent frame.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e) |
java.awt.Component |
add(java.awt.Component component) |
void |
addCheckbox(java.lang.String label,
boolean defaultValue)
Adds a checkbox.
|
void |
addCheckboxGroup(int rows,
int columns,
java.lang.String[] labels,
boolean[] defaultValues)
Adds a group of checkboxs using a grid layout.
|
void |
addCheckboxGroup(int rows,
int columns,
java.lang.String[] labels,
boolean[] defaultValues,
java.lang.String[] headings)
Adds a group of checkboxs using a grid layout.
|
void |
addChoice(java.lang.String label,
java.lang.String[] items,
java.lang.String defaultItem)
Adds a popup menu.
|
void |
addDialogListener(DialogListener dl)
Add an Object implementing the DialogListener interface.
|
void |
addHelp(java.lang.String url)
Adds a "Help" button that opens the specified URL in the default browser.
|
void |
addMessage(java.lang.String text)
Adds a message consisting of one or more lines of text.
|
void |
addMessage(java.lang.String text,
java.awt.Font font)
Adds a message consisting of one or more lines of text,
which will be displayed using the specified font.
|
void |
addMessage(java.lang.String text,
java.awt.Font font,
java.awt.Color color)
Adds a message consisting of one or more lines of text,
which will be displayed using the specified font and color.
|
void |
addNumericField(java.lang.String label,
double defaultValue,
int digits)
Adds a numeric field.
|
void |
addNumericField(java.lang.String label,
double defaultValue,
int digits,
int columns,
java.lang.String units)
Adds a numeric field.
|
void |
addPanel(java.awt.Panel panel)
Adds a Panel to the dialog.
|
void |
addPanel(java.awt.Panel panel,
int constraints,
java.awt.Insets insets)
Adds a Panel to the dialog with custom contraint and insets.
|
void |
addPreviewCheckbox(PlugInFilterRunner pfr)
Adds a checkbox labelled "Preview" for "automatic" preview.
|
void |
addPreviewCheckbox(PlugInFilterRunner pfr,
java.lang.String label)
Add the preview checkbox with user-defined label; for details see the
addPreviewCheckbox method with standard "Preview" label.
|
void |
addRadioButtonGroup(java.lang.String label,
java.lang.String[] items,
int rows,
int columns,
java.lang.String defaultItem)
Adds a radio button group.
|
void |
addSlider(java.lang.String label,
double minValue,
double maxValue,
double defaultValue)
Adds a slider (scroll bar) to the dialog box.
|
void |
addStringField(java.lang.String label,
java.lang.String defaultText)
Adds an 8 column text field.
|
void |
addStringField(java.lang.String label,
java.lang.String defaultText,
int columns)
Adds a text field.
|
void |
addTextAreas(java.lang.String text1,
java.lang.String text2,
int rows,
int columns)
Adds one or two (side by side) text areas.
|
void |
adjustmentValueChanged(java.awt.event.AdjustmentEvent e) |
void |
centerDialog(boolean b)
Display dialog centered on the primary screen?
|
void |
enableYesNoCancel()
Make this a "Yes No Cancel" dialog.
|
void |
enableYesNoCancel(java.lang.String yesLabel,
java.lang.String noLabel)
Make this a "Yes No Cancel" dialog with custom labels.
|
void |
focusGained(java.awt.event.FocusEvent e) |
void |
focusLost(java.awt.event.FocusEvent e) |
java.awt.Button[] |
getButtons()
Returns references to the "OK" ("Yes"), "Cancel",
and if present, "No" buttons as an array.
|
java.util.Vector |
getCheckboxes()
Returns the Vector containing the Checkboxes.
|
java.util.Vector |
getChoices()
Returns the Vector containing the Choices.
|
java.lang.String |
getErrorMessage()
Returns an error message if getNextNumber was unable to convert a
string into a number, otherwise, returns null.
|
java.awt.Insets |
getInsets() |
java.awt.Component |
getMessage()
Returns a reference to the Label or MultiLineLabel created by the
last addMessage() call, or null if addMessage() was not called.
|
boolean |
getNextBoolean()
Returns the state of the next checkbox.
|
java.lang.String |
getNextChoice()
Returns the selected item in the next popup menu.
|
int |
getNextChoiceIndex()
Returns the index of the selected item in the next popup menu.
|
double |
getNextNumber()
Returns the contents of the next numeric field,
or NaN if the field does not contain a number.
|
java.lang.String |
getNextRadioButton()
Returns the selected item in the next radio button group.
|
java.lang.String |
getNextString()
Returns the contents of the next text field.
|
java.lang.String |
getNextText()
Returns the contents of the next textarea.
|
java.util.Vector |
getNumericFields()
Returns the Vector containing the numeric TextFields.
|
java.awt.Checkbox |
getPreviewCheckbox()
Returns a reference to the Preview Checkbox.
|
java.util.Vector |
getRadioButtonGroups()
Returns the Vector that contains the RadioButtonGroups.
|
java.util.Vector |
getSliders()
Returns the Vector containing the sliders (Scrollbars).
|
java.util.Vector |
getStringFields()
Returns the Vector containing the string TextFields.
|
java.awt.TextArea |
getTextArea1()
Returns a reference to textArea1.
|
java.awt.TextArea |
getTextArea2()
Returns a reference to textArea2.
|
protected java.lang.Double |
getValue(java.lang.String text) |
void |
hideCancelButton()
No not display "Cancel" button.
|
boolean |
invalidNumber()
Returns true if one or more of the numeric fields contained an
invalid number.
|
void |
itemStateChanged(java.awt.event.ItemEvent e) |
void |
keyPressed(java.awt.event.KeyEvent e) |
void |
keyReleased(java.awt.event.KeyEvent e) |
void |
keyTyped(java.awt.event.KeyEvent e) |
void |
paint(java.awt.Graphics g) |
double |
parseDouble(java.lang.String s) |
void |
previewRunning(boolean isRunning)
Used by PlugInFilterRunner to provide visable feedback whether preview
is running or not by switching from "Preview" to "wait..."
|
void |
setCancelLabel(java.lang.String label)
Sets a replacement label for the "Cancel" button.
|
void |
setEchoChar(char echoChar)
Sets the echo character for the next string field.
|
void |
setHelpLabel(java.lang.String label)
Sets a replacement label for the "Help" button.
|
void |
setInsets(int top,
int left,
int bottom)
Set the insets (margins), in pixels, that will be
used for the next component added to the dialog.
|
void |
setOKLabel(java.lang.String label)
Sets a replacement label for the "OK" button.
|
protected void |
setup() |
void |
showDialog()
Displays this dialog box.
|
void |
textValueChanged(java.awt.event.TextEvent e) |
void |
update(java.awt.Graphics g) |
boolean |
wasCanceled()
Returns true if the user clicked on "Cancel".
|
boolean |
wasCancelled()
Returns true if the user clicked on "Cancel".
|
boolean |
wasOKed()
Returns true if the user has clicked on "OK" or a macro is running.
|
void |
windowActivated(java.awt.event.WindowEvent e) |
void |
windowClosed(java.awt.event.WindowEvent e) |
void |
windowClosing(java.awt.event.WindowEvent e) |
void |
windowDeactivated(java.awt.event.WindowEvent e) |
void |
windowDeiconified(java.awt.event.WindowEvent e) |
void |
windowIconified(java.awt.event.WindowEvent e) |
void |
windowOpened(java.awt.event.WindowEvent e) |
addNotify, getAccessibleContext, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, paramString, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, 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, validate, validateTree
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, getPeer, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final int MAX_SLIDERS
protected java.util.Vector numberField
protected java.util.Vector stringField
protected java.util.Vector checkbox
protected java.util.Vector choice
protected java.util.Vector slider
protected java.util.Vector radioButtonGroups
protected java.awt.TextArea textArea1
protected java.awt.TextArea textArea2
protected java.util.Vector defaultValues
protected java.util.Vector defaultText
protected java.awt.Component theLabel
public GenericDialog()
public GenericDialog(java.lang.String title)
public GenericDialog(java.lang.String title, java.awt.Frame parent)
public java.awt.Component add(java.awt.Component component)
add
in class java.awt.Container
public void addNumericField(java.lang.String label, double defaultValue, int digits)
label
- the labeldefaultValue
- value to be initially displayeddigits
- number of digits to right of decimal pointpublic void addNumericField(java.lang.String label, double defaultValue, int digits, int columns, java.lang.String units)
label
- the labeldefaultValue
- value to be initially displayeddigits
- number of digits to right of decimal pointcolumns
- width of field in charactersunits
- a string displayed to the right of the fieldpublic void addStringField(java.lang.String label, java.lang.String defaultText)
label
- the labeldefaultText
- the text initially displayedpublic void addStringField(java.lang.String label, java.lang.String defaultText, int columns)
label
- the labeldefaultText
- text initially displayedcolumns
- width of the text fieldpublic void setEchoChar(char echoChar)
public void addCheckbox(java.lang.String label, boolean defaultValue)
label
- the labeldefaultValue
- the initial statepublic void addPreviewCheckbox(PlugInFilterRunner pfr)
pfr
- A reference to the PlugInFilterRunner calling the PlugInFilter
if automatic preview is desired, null otherwise.public void addPreviewCheckbox(PlugInFilterRunner pfr, java.lang.String label)
public void addCheckboxGroup(int rows, int columns, java.lang.String[] labels, boolean[] defaultValues)
rows
- the number of rowscolumns
- the number of columnslabels
- the labelsdefaultValues
- the initial statespublic void addCheckboxGroup(int rows, int columns, java.lang.String[] labels, boolean[] defaultValues, java.lang.String[] headings)
rows
- the number of rowscolumns
- the number of columnslabels
- the labelsdefaultValues
- the initial statesheadings
- the column headings
Example: http://imagej.nih.gov/ij/plugins/multi-column-dialog/index.htmlpublic void addRadioButtonGroup(java.lang.String label, java.lang.String[] items, int rows, int columns, java.lang.String defaultItem)
label
- group label (or null)items
- radio button labelsrows
- number of rowscolumns
- number of columnsdefaultItem
- button initially selectedpublic void addChoice(java.lang.String label, java.lang.String[] items, java.lang.String defaultItem)
label
- the labelitems
- the menu itemsdefaultItem
- the menu item initially selectedpublic void addMessage(java.lang.String text)
public void addMessage(java.lang.String text, java.awt.Font font)
public void addMessage(java.lang.String text, java.awt.Font font, java.awt.Color color)
public void addTextAreas(java.lang.String text1, java.lang.String text2, int rows, int columns)
text1
- initial contents of the first text areatext2
- initial contents of the second text area or nullrows
- the number of rowscolumns
- the number of columnspublic void addSlider(java.lang.String label, double minValue, double maxValue, double defaultValue)
label
- the labelminValue
- the minimum value of the slidermaxValue
- the maximum value of the sliderdefaultValue
- the initial value of the sliderpublic void addPanel(java.awt.Panel panel)
public void addPanel(java.awt.Panel panel, int constraints, java.awt.Insets insets)
public void setInsets(int top, int left, int bottom)
Default insets: addMessage: 0,20,0 (empty string) or 10,20,0 addCheckbox: 15,20,0 (first checkbox) or 0,20,0 addCheckboxGroup: 10,0,0 addRadioButtonGroup: 5,10,0 addNumericField: 5,0,3 (first field) or 0,0,3 addStringField: 5,0,5 (first field) or 0,0,5 addChoice: 5,0,5 (first field) or 0,0,5
public void setOKLabel(java.lang.String label)
public void setCancelLabel(java.lang.String label)
public void setHelpLabel(java.lang.String label)
public void enableYesNoCancel()
public void enableYesNoCancel(java.lang.String yesLabel, java.lang.String noLabel)
GenericDialog gd = new GenericDialog("YesNoCancel Demo"); gd.addMessage("This is a custom YesNoCancel dialog"); gd.enableYesNoCancel("Do something", "Do something else"); gd.showDialog(); if (gd.wasCanceled()) IJ.log("User clicked 'Cancel'"); else if (gd.wasOKed()) IJ. log("User clicked 'Yes'"); else IJ. log("User clicked 'No'");
public void hideCancelButton()
public void addDialogListener(DialogListener dl)
dl
- the Object that wants to listen.public boolean wasCanceled()
public boolean wasCancelled()
public boolean wasOKed()
public double getNextNumber()
protected java.lang.Double getValue(java.lang.String text)
public double parseDouble(java.lang.String s)
public boolean invalidNumber()
public java.lang.String getErrorMessage()
public java.lang.String getNextString()
public boolean getNextBoolean()
public java.lang.String getNextChoice()
public int getNextChoiceIndex()
public java.lang.String getNextRadioButton()
public java.lang.String getNextText()
public void showDialog()
public java.util.Vector getNumericFields()
public java.util.Vector getStringFields()
public java.util.Vector getCheckboxes()
public java.util.Vector getChoices()
public java.util.Vector getSliders()
public java.util.Vector getRadioButtonGroups()
public java.awt.TextArea getTextArea1()
public java.awt.TextArea getTextArea2()
public java.awt.Component getMessage()
public java.awt.Checkbox getPreviewCheckbox()
public java.awt.Button[] getButtons()
public void previewRunning(boolean isRunning)
public void centerDialog(boolean b)
protected void setup()
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
public void textValueChanged(java.awt.event.TextEvent e)
textValueChanged
in interface java.awt.event.TextListener
public void itemStateChanged(java.awt.event.ItemEvent e)
itemStateChanged
in interface java.awt.event.ItemListener
public void focusGained(java.awt.event.FocusEvent e)
focusGained
in interface java.awt.event.FocusListener
public void focusLost(java.awt.event.FocusEvent e)
focusLost
in interface java.awt.event.FocusListener
public void keyPressed(java.awt.event.KeyEvent e)
keyPressed
in interface java.awt.event.KeyListener
public void keyReleased(java.awt.event.KeyEvent e)
keyReleased
in interface java.awt.event.KeyListener
public void keyTyped(java.awt.event.KeyEvent e)
keyTyped
in interface java.awt.event.KeyListener
public java.awt.Insets getInsets()
getInsets
in class java.awt.Container
public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
adjustmentValueChanged
in interface java.awt.event.AdjustmentListener
public void paint(java.awt.Graphics g)
paint
in class java.awt.Window
public void update(java.awt.Graphics g)
update
in class java.awt.Container
public void windowClosing(java.awt.event.WindowEvent e)
windowClosing
in interface java.awt.event.WindowListener
public void addHelp(java.lang.String url)
public void windowActivated(java.awt.event.WindowEvent e)
windowActivated
in interface java.awt.event.WindowListener
public void windowOpened(java.awt.event.WindowEvent e)
windowOpened
in interface java.awt.event.WindowListener
public void windowClosed(java.awt.event.WindowEvent e)
windowClosed
in interface java.awt.event.WindowListener
public void windowIconified(java.awt.event.WindowEvent e)
windowIconified
in interface java.awt.event.WindowListener
public void windowDeiconified(java.awt.event.WindowEvent e)
windowDeiconified
in interface java.awt.event.WindowListener
public void windowDeactivated(java.awt.event.WindowEvent e)
windowDeactivated
in interface java.awt.event.WindowListener