|
|||||||||
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
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 |
---|
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType |
Nested classes/interfaces inherited from class java.awt.Window |
---|
Window.AccessibleAWTWindow |
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 | |
---|---|
protected Vector |
checkbox
|
protected Vector |
choice
|
protected Vector |
defaultChoiceIndexes
|
protected Vector |
defaultStrings
|
protected Vector |
defaultText
|
protected Vector |
defaultValues
|
static int |
MAX_SLIDERS
|
protected Vector |
numberField
|
protected Vector |
radioButtonGroups
|
protected Vector |
slider
|
protected Vector |
stringField
|
protected TextArea |
textArea1
|
protected TextArea |
textArea2
|
protected Component |
theLabel
|
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 java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
GenericDialog(String title)
Creates a new GenericDialog with the specified title. |
|
GenericDialog(String title,
Frame parent)
Creates a new GenericDialog using the specified title and parent frame. |
Method Summary | |
---|---|
void |
actionPerformed(ActionEvent e)
|
void |
addCheckbox(String label,
boolean defaultValue)
Adds a checkbox. |
void |
addCheckboxGroup(int rows,
int columns,
String[] labels,
boolean[] defaultValues)
Adds a group of checkboxs using a grid layout. |
void |
addCheckboxGroup(int rows,
int columns,
String[] labels,
boolean[] defaultValues,
String[] headings)
Adds a group of checkboxs using a grid layout. |
void |
addChoice(String label,
String[] items,
String defaultItem)
Adds a popup menu. |
void |
addDialogListener(DialogListener dl)
Add an Object implementing the DialogListener interface. |
void |
addHelp(String url)
Adds a "Help" button that opens the specified URL in the default browser. |
void |
addImage(ImagePlus image)
Adds an image to the dialog. |
void |
addMessage(String text)
Adds a message consisting of one or more lines of text. |
void |
addMessage(String text,
Font font)
Adds a message consisting of one or more lines of text, which will be displayed using the specified font. |
void |
addMessage(String text,
Font font,
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(String label,
double defaultValue,
int digits)
Adds a numeric field. |
void |
addNumericField(String label,
double defaultValue,
int digits,
int columns,
String units)
Adds a numeric field. |
void |
addPanel(Panel panel)
Adds a Panel to the dialog. |
void |
addPanel(Panel panel,
int constraints,
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,
String label)
Add the preview checkbox with user-defined label; for details see the addPreviewCheckbox method with standard "Preview" label. |
void |
addRadioButtonGroup(String label,
String[] items,
int rows,
int columns,
String defaultItem)
Adds a radio button group. |
void |
addSlider(String label,
double minValue,
double maxValue,
double defaultValue)
Adds a slider (scroll bar) to the dialog box. |
void |
addStringField(String label,
String defaultText)
Adds an 8 column text field. |
void |
addStringField(String label,
String defaultText,
int columns)
Adds a text field. |
void |
addTextAreas(String text1,
String text2,
int rows,
int columns)
Adds one or two (side by side) text areas. |
void |
adjustmentValueChanged(AdjustmentEvent e)
|
void |
centerDialog(boolean b)
Display dialog centered on the primary screen. |
void |
enableYesNoCancel()
Make this a "Yes No Cancel" dialog. |
void |
enableYesNoCancel(String yesLabel,
String noLabel)
Make this a "Yes No Cancel" dialog with custom labels. |
void |
focusGained(FocusEvent e)
|
void |
focusLost(FocusEvent e)
|
Button[] |
getButtons()
Returns references to the "OK" ("Yes"), "Cancel", and if present, "No" buttons as an array. |
Vector |
getCheckboxes()
Returns the Vector containing the Checkboxes. |
Vector |
getChoices()
Returns the Vector containing the Choices. |
String |
getErrorMessage()
Returns an error message if getNextNumber was unable to convert a string into a number, otherwise, returns null. |
Insets |
getInsets()
|
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. |
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. |
String |
getNextRadioButton()
Returns the selected item in the next radio button group. |
String |
getNextString()
Returns the contents of the next text field. |
String |
getNextText()
Returns the contents of the next textarea. |
Vector |
getNumericFields()
Returns the Vector containing the numeric TextFields. |
Checkbox |
getPreviewCheckbox()
Returns a reference to the Preview checkbox. |
Vector |
getRadioButtonGroups()
Returns the Vector that contains the RadioButtonGroups. |
Vector |
getSliders()
Returns the Vector containing the sliders (Scrollbars). |
Vector |
getStringFields()
Returns the Vector containing the string TextFields. |
TextArea |
getTextArea1()
Returns a reference to textArea1. |
TextArea |
getTextArea2()
Returns a reference to textArea2. |
protected Double |
getValue(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. |
protected boolean |
isMacro()
|
boolean |
isPreviewActive()
Returns 'true' if this dialog has a "Preview" checkbox and it is enabled. |
void |
itemStateChanged(ItemEvent e)
|
void |
keyPressed(KeyEvent e)
|
void |
keyReleased(KeyEvent e)
|
void |
keyTyped(KeyEvent e)
|
void |
paint(Graphics g)
|
double |
parseDouble(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 |
repaint()
|
void |
setCancelLabel(String label)
Sets a replacement label for the "Cancel" button. |
void |
setDefaultString(int index,
String str)
|
void |
setEchoChar(char echoChar)
Sets the echo character for the next string field. |
void |
setHelpLabel(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 |
setLocation(int x,
int y)
|
void |
setOKLabel(String label)
Sets a replacement label for the "OK" button. |
void |
setSmartRecording(boolean smartRecording)
Unchanged parameters are not recorder in 'smart recording' mode. |
protected void |
setup()
|
void |
showDialog()
Displays this dialog box. |
void |
textValueChanged(TextEvent 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(WindowEvent e)
|
void |
windowClosed(WindowEvent e)
|
void |
windowClosing(WindowEvent e)
|
void |
windowDeactivated(WindowEvent e)
|
void |
windowDeiconified(WindowEvent e)
|
void |
windowIconified(WindowEvent e)
|
void |
windowOpened(WindowEvent e)
|
Methods inherited from class java.awt.Dialog |
---|
addNotify, getAccessibleContext, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, paramString, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int MAX_SLIDERS
protected Vector numberField
protected Vector stringField
protected Vector checkbox
protected Vector choice
protected Vector slider
protected Vector radioButtonGroups
protected TextArea textArea1
protected TextArea textArea2
protected Vector defaultValues
protected Vector defaultText
protected Vector defaultStrings
protected Vector defaultChoiceIndexes
protected Component theLabel
Constructor Detail |
---|
public GenericDialog(String title)
public GenericDialog(String title, Frame parent)
Method Detail |
---|
public void addNumericField(String label, double defaultValue, int digits)
label
- the labeldefaultValue
- value to be initially displayeddigits
- number of digits to right of decimal pointpublic void addNumericField(String label, double defaultValue, int digits, int columns, 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(String label, String defaultText)
label
- the labeldefaultText
- the text initially displayedpublic void addStringField(String label, String defaultText, int columns)
label
- the labeldefaultText
- text initially displayedcolumns
- width of the text fieldpublic void setEchoChar(char echoChar)
public void addCheckbox(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, String label)
public void addCheckboxGroup(int rows, int columns, String[] labels, boolean[] defaultValues)
rows
- the number of rowscolumns
- the number of columnslabels
- the labelsdefaultValues
- the initial statespublic void addCheckboxGroup(int rows, int columns, String[] labels, boolean[] defaultValues, 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(String label, String[] items, int rows, int columns, String defaultItem)
label
- group label (or null)items
- radio button labelsrows
- number of rowscolumns
- number of columnsdefaultItem
- button initially selectedpublic void addChoice(String label, String[] items, String defaultItem)
label
- the labelitems
- the menu itemsdefaultItem
- the menu item initially selectedpublic void addMessage(String text)
public void addMessage(String text, Font font)
public void addMessage(String text, Font font, Color color)
public void addTextAreas(String text1, 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(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(Panel panel)
public void addPanel(Panel panel, int constraints, Insets insets)
public void addImage(ImagePlus image)
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(String label)
public void setCancelLabel(String label)
public void setHelpLabel(String label)
public void setSmartRecording(boolean smartRecording)
public void enableYesNoCancel()
public void enableYesNoCancel(String yesLabel, 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()
protected Double getValue(String text)
public double parseDouble(String s)
public boolean invalidNumber()
public String getErrorMessage()
public String getNextString()
public boolean getNextBoolean()
public String getNextChoice()
public int getNextChoiceIndex()
public String getNextRadioButton()
public String getNextText()
public void showDialog()
public Vector getNumericFields()
public Vector getStringFields()
public Vector getCheckboxes()
public Vector getChoices()
public Vector getSliders()
public Vector getRadioButtonGroups()
public TextArea getTextArea1()
public TextArea getTextArea2()
public Component getMessage()
public Checkbox getPreviewCheckbox()
public boolean isPreviewActive()
public Button[] getButtons()
public void previewRunning(boolean isRunning)
public void centerDialog(boolean b)
public void setLocation(int x, int y)
setLocation
in class Component
public void setDefaultString(int index, String str)
protected void setup()
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public void textValueChanged(TextEvent e)
textValueChanged
in interface TextListener
public void itemStateChanged(ItemEvent e)
itemStateChanged
in interface ItemListener
public void focusGained(FocusEvent e)
focusGained
in interface FocusListener
public void focusLost(FocusEvent e)
focusLost
in interface FocusListener
public void keyPressed(KeyEvent e)
keyPressed
in interface KeyListener
public void keyReleased(KeyEvent e)
keyReleased
in interface KeyListener
public void keyTyped(KeyEvent e)
keyTyped
in interface KeyListener
public Insets getInsets()
getInsets
in class Container
public void adjustmentValueChanged(AdjustmentEvent e)
adjustmentValueChanged
in interface AdjustmentListener
public void repaint()
repaint
in class Component
public void paint(Graphics g)
paint
in class Window
public void windowClosing(WindowEvent e)
windowClosing
in interface WindowListener
public void addHelp(String url)
protected boolean isMacro()
public void windowActivated(WindowEvent e)
windowActivated
in interface WindowListener
public void windowOpened(WindowEvent e)
windowOpened
in interface WindowListener
public void windowClosed(WindowEvent e)
windowClosed
in interface WindowListener
public void windowIconified(WindowEvent e)
windowIconified
in interface WindowListener
public void windowDeiconified(WindowEvent e)
windowDeiconified
in interface WindowListener
public void windowDeactivated(WindowEvent e)
windowDeactivated
in interface WindowListener
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |