|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
ij.gui.GenericDialog
public class GenericDialog
This class is a customizable modal dialog box. Here is an example GenericDialog with one string field and two numeric fields:
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".
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.awt.Dialog |
---|
java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.BaselineResizeBehavior |
Field Summary | |
---|---|
static int |
MAX_SLIDERS
|
Fields inherited from class java.awt.Dialog |
---|
DEFAULT_MODALITY_TYPE |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface javax.swing.WindowConstants |
---|
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
GenericDialog(java.lang.String title)
Creates a new GenericDialog with the specified title. |
|
GenericDialog(java.lang.String title,
javax.swing.JFrame parent)
Creates a new GenericDialog using the specified title and parent frame. |
Method Summary | |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
|
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. |
javax.swing.JPanel |
addCheckboxGroupPanel(int rows,
int columns,
java.lang.String[] labels,
boolean[] defaultValues)
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)
|
void |
addJSlider(java.lang.String label,
double minValue,
double maxValue,
double defaultValue,
double major,
double minor,
boolean paintTicks,
boolean paintLabels,
int width,
int height)
|
void |
addJSlider(java.lang.String label,
double minValue,
double maxValue,
double defaultValue,
double major,
double minor,
boolean paintTicks,
boolean paintLabels,
int width,
int height,
int stepSize)
|
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 |
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.Component panel)
Adds a Panel to the dialog. |
void |
addPanel(java.awt.Component panel,
int contraints,
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 |
addSlider(java.lang.String label,
double minValue,
double maxValue,
double defaultValue)
Adds a slider (scroll bar) to the dialog box. |
void |
addSpinner(java.lang.String label,
double minValue,
double maxValue,
double defaultValue,
int width,
int height)
|
void |
addSpinner(java.lang.String label,
double minValue,
double maxValue,
double defaultValue,
int width,
int height,
double stepSize)
|
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 |
changedUpdate(javax.swing.event.DocumentEvent e)
|
javax.swing.JSlider |
createSlider(javax.swing.JSlider manipSlider,
int min,
int max,
int start,
int major,
int minor,
boolean paintTicks,
boolean paintLabels,
int width,
int height)
create and initialize JSlider |
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)
|
javax.swing.JButton[] |
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()
|
javax.swing.JSlider |
getManipSlider()
Returns a reference to textArea1. |
javax.swing.JComponent |
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. |
double |
getNextNumberS()
Returns the contents of the next numeric field, or NaN if the field does not contain a number. |
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. |
javax.swing.JCheckBox |
getPreviewCheckbox()
Returns a reference to the Preview Checkbox. |
java.util.Vector<javax.swing.JComponent> |
getSliders()
Returns the Vector containing the sliders (JScrollbars, JSlider). |
java.util.Vector<javax.swing.JComponent> |
getSpinnerFields()
Returns the Vector containing the numeric TextFields. |
java.util.Vector<javax.swing.JComponent> |
getSpinners()
Returns the sliders (Spinner). |
java.util.Vector |
getStringFields()
Returns the Vector containing the string TextFields. |
javax.swing.JTextArea |
getTextArea1()
Returns a reference to textArea1. |
javax.swing.JTextArea |
getTextArea2()
Returns a reference to textArea2. |
void |
hideCancelButton()
No not display "Cancel" button. |
void |
insertUpdate(javax.swing.event.DocumentEvent e)
|
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 |
removeUpdate(javax.swing.event.DocumentEvent e)
|
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. |
void |
showDialog()
Displays this dialog box. |
void |
textValueChanged(java.awt.AWTEvent ae,
javax.swing.event.DocumentEvent e)
|
boolean |
wasCanceled()
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)
|
Methods inherited from class javax.swing.JDialog |
---|
getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setTransferHandler, update |
Methods inherited from class java.awt.Dialog |
---|
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack |
Methods inherited from class java.awt.Window |
---|
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate |
Methods inherited from class java.awt.Component |
---|
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, dispatchEvent, enable, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int MAX_SLIDERS
Constructor Detail |
---|
public GenericDialog(java.lang.String title)
public GenericDialog(java.lang.String title, javax.swing.JFrame parent)
Method Detail |
---|
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 javax.swing.JPanel addCheckboxGroupPanel(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)
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 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 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 rowsrows
- 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 addJSlider(java.lang.String label, double minValue, double maxValue, double defaultValue, double major, double minor, boolean paintTicks, boolean paintLabels, int width, int height)
public void addJSlider(java.lang.String label, double minValue, double maxValue, double defaultValue, double major, double minor, boolean paintTicks, boolean paintLabels, int width, int height, int stepSize)
public javax.swing.JSlider createSlider(javax.swing.JSlider manipSlider, int min, int max, int start, int major, int minor, boolean paintTicks, boolean paintLabels, int width, int height)
public void addSpinner(java.lang.String label, double minValue, double maxValue, double defaultValue, int width, int height)
public void addSpinner(java.lang.String label, double minValue, double maxValue, double defaultValue, int width, int height, double stepSize)
public void addPanel(java.awt.Component panel)
public void addPanel(java.awt.Component panel, int contraints, 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 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 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 wasOKed()
public double getNextNumber()
public double getNextNumberS()
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 getNextText()
public void showDialog()
public java.util.Vector getNumericFields()
public java.util.Vector<javax.swing.JComponent> getSpinnerFields()
public java.util.Vector getStringFields()
public java.util.Vector getCheckboxes()
public java.util.Vector getChoices()
public java.util.Vector<javax.swing.JComponent> getSliders()
public java.util.Vector<javax.swing.JComponent> getSpinners()
public javax.swing.JSlider getManipSlider()
public javax.swing.JTextArea getTextArea1()
public javax.swing.JTextArea getTextArea2()
public javax.swing.JComponent getMessage()
public javax.swing.JCheckBox getPreviewCheckbox()
public javax.swing.JButton[] getButtons()
public void previewRunning(boolean isRunning)
public void centerDialog(boolean b)
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
public void textValueChanged(java.awt.AWTEvent ae, javax.swing.event.DocumentEvent e)
public void insertUpdate(javax.swing.event.DocumentEvent e)
insertUpdate
in interface javax.swing.event.DocumentListener
public void removeUpdate(javax.swing.event.DocumentEvent e)
removeUpdate
in interface javax.swing.event.DocumentListener
public void changedUpdate(javax.swing.event.DocumentEvent e)
changedUpdate
in interface javax.swing.event.DocumentListener
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 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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |