|
||||||||||
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 annotation list 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 annotationMethod 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 FormElement
public 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 FormElement
public 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 |