|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.faceless.pdf2.FormElement
org.faceless.pdf2.FormChoice
public final class FormChoice
A "ListBox" type of form element, where the user can select an entry off a list of several predefined options.
Several variations of this type of field are available:
TYPE_DROPDOWN | A dropdown list, where a single item can be selected | TYPE_COMBO | Identical to a dropdown list, but the user can type in their own value as well as select one off a list | TYPE_SCROLLABLE | A scrollable list, where the user can see several options on the screen at once but select only one | TYPE_MULTISCROLLABLE | Identical to a SCROLLABLE list, but mutiple options can be selected at once |
|---|
For all these lists, the options are specified by adding values to the Map returned
by getOptions(). The values are displayed in the order they're added to the Map.
Here's an example creating a simple list of values:
Form form = pdf.getForm();
FormChoice colors = new FormChoice(FormChoice.TYPE_SCROLLABLE, page, 100,100,300,300);
Map vals = colors.getOptions();
vals.put("Red", null);
vals.put("Green", null);
vals.put("Blue", null);
colors.setValue("Green");
form.addElement("FavoriteColor", colors);
and here's an example showing how to retrieve the value of an element
Form form = pdf.getForm();
FormChoice choice = (FormChoice)form.getElement("FavoriteColor");
String value = choice.getValue(); // May be null
| Field Summary | |
|---|---|
static int |
TYPE_COMBO
A type passed to the constructor representing a dropdown list where the value can also be edited like a text field. |
static int |
TYPE_DROPDOWN
A type passed to the constructor representing a dropdown list, similar to a drop-down menu |
static int |
TYPE_MULTISCROLLABLE
A type passed to the constructor representing a scollable list, which displays one or more lines at once. |
static int |
TYPE_SCROLLABLE
A type passed to the constructor representing a scollable list, which displays one or more lines at once. |
| Constructor Summary | |
|---|---|
FormChoice(int type)
Create a new FormChoice element with no annotations. |
|
FormChoice(int type,
PDFPage page,
float x1,
float y1,
float x2,
float y2)
Create a new FormChoice element with an annotation at the specified
location. |
|
| Method Summary | |
|---|---|
WidgetAnnotation |
addAnnotation(PDFPage page,
float x1,
float y1,
float x2,
float y2)
Add an annotation for this element at the specified location on the page |
String |
getDefaultValue()
Return the value this choice field resets to when a PDFAction.formReset()
occurs. |
Map |
getOptions()
Return a Map containing the options for this choice field>
A Map contains keys and their corresponding values, which is the way the
choice fields are done in PDF (and HTML too). |
int[] |
getSelectedIndices()
Return an array of integers showing which entries in the getOptions() map are selected. |
int |
getType()
Return the type of choice field this object represents - one of TYPE_SCROLLABLE, TYPE_MULTISCROLLABLE,
TYPE_DROPDOWN or TYPE_COMBO |
String |
getValue()
Return the current value of the choice field. |
boolean |
isImmediatelyCommitted()
Return whether the field is immediatley committed, as set by setImmediatelyCommitted(boolean) |
boolean |
isSpellCheck()
Return the value of the "spell check" flag, as set by setSpellCheck(boolean) |
void |
rebuild()
Cause the annotations to be rebuilt. |
void |
setDefaultValue(String value)
Set the default value of this choice field. |
void |
setImmediatelyCommitted(boolean update)
Set whether changes to this Choice field are made immediately the new item is chosen (true) or whether the change is made when the field loses focus (false). |
void |
setSelectedIndices(int[] vals)
Set which entries in the getOptions() map are selected. |
void |
setSpellCheck(boolean spellcheck)
Set the "spell check" flag on the field, which controls whether Acrobat will run its spell-checker on the field. |
void |
setValue(String value)
Set the value of this choice field. |
String |
toString()
|
| Methods inherited from class org.faceless.pdf2.FormElement |
|---|
addPropertyChangeListener, duplicate, flatten, getAction, getAnnotation, getAnnotations, getDescription, getForm, isReadOnly, isRequired, isSubmitted, removePropertyChangeListener, setAction, setDescription, setReadOnly, setRequired, setSubmitted |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int TYPE_DROPDOWN
public static final int TYPE_SCROLLABLE
public static final int TYPE_MULTISCROLLABLE
public static final int TYPE_COMBO
| Constructor Detail |
|---|
public FormChoice(int type)
FormChoice element with no annotations. Annotations
should be added via the addAnnotation method.
public FormChoice(int type,
PDFPage page,
float x1,
float y1,
float x2,
float y2)
FormChoice element with an annotation at the specified
location. Identical to calling
FormChoice choice = new FormChoice(type); choice.addAnnotation(page, x1, y1, x2, y2);
type - the type of annotationpage - the PDFPage to place the annotation onx1 - the left-most X co-ordinate of the annotationy1 - the bottom-most Y co-ordinate of the annotationx2 - the right-most X co-ordinate of the annotationy2 - the top-most Y co-ordinate of the annotation| Method Detail |
|---|
public WidgetAnnotation addAnnotation(PDFPage page,
float x1,
float y1,
float x2,
float y2)
page - the PDFPage to place the annotation onx1 - the left-most X co-ordinate of the annotationy1 - the bottom-most Y co-ordinate of the annotationx2 - the right-most X co-ordinate of the annotationy2 - the top-most Y co-ordinate of the annotationpublic int getType()
TYPE_SCROLLABLE, TYPE_MULTISCROLLABLE,
TYPE_DROPDOWN or TYPE_COMBO
public Map getOptions()
Return a Map containing the options for this choice field>
A Map contains keys and their corresponding values, which is the way the
choice fields are done in PDF (and HTML too). They key is displayed to the
user, and the value, if specified, is what's included when the form is
submitted. So, for example, the line
choice.getOptions().put("Red","1")
will display the value "Red" on screen, but send the value of "1" when the
form is submitted. If the submitted value should be the same as
the displayed value, just do choice.getOptions().put("Red", null)
or choice.getOptions().put("Red", "Red").
Values are displayed in the field in the order that they are added to the Map,
key may not be null, and both key and
value must be String objects.
public void setImmediatelyCommitted(boolean update)
public boolean isImmediatelyCommitted()
setImmediatelyCommitted(boolean)
public int[] getSelectedIndices()
getOptions() map are selected.
The returned array will have a length of zero if no value is selected or a TYPE_COMBO
field has a custom value, otherwise the returned array will typically have a single element -
the exception being TYPE_MULTISCROLLABLE fields.
public void setSelectedIndices(int[] vals)
getOptions() map are selected.
Unless the list is a TYPE_MULTISCROLLABLE then the array must
have either zero or one elements - multi-scrollable lists may have more.
vals - an array of zero or more indices which are to be marked as selectedpublic void setValue(String value)
TYPE_COMBO fields,
the value may be anything, otherwise the value must exist
in the getOptions().values() set. For TYPE_MULTISCROLLABLE lists, multiple items can be selected by
separating them with a newline, eg. "Tuesday\nWednesday\nThursday"
value - the value to set the field topublic void setDefaultValue(String value)
setValue(java.lang.String, java.lang.String)
except this is the value the field reverts to when a PDFAction.formReset()
action is called.
value - the value to set the field to when the form is resetpublic String getValue()
setValue(java.lang.String, java.lang.String)
for a description of the value that is returned by this method
getValue in class FormElementpublic String getDefaultValue()
PDFAction.formReset()
occurs. See setValue(java.lang.String, java.lang.String) for a description of the value that is returned
by this method
public void rebuild()
FormElement
rebuild in class FormElementpublic void setSpellCheck(boolean spellcheck)
spellcheck - whether to spell-check the field (true, the default) or not (false)public boolean isSpellCheck()
setSpellCheck(boolean)
public String toString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||