org.apache.pdfbox.pdmodel.interactive.form

## Class PDButton

- java.lang.Object
- - org.apache.pdfbox.pdmodel.interactive.form.PDField
  - - org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField
    - - org.apache.pdfbox.pdmodel.interactive.form.PDButton

All Implemented Interfaces:
  COSObjectable

Direct Known Subclasses:
  PDCheckBox, PDPushButton, PDRadioButton

    public abstract class PDButton
    extends PDTerminalField

A button field represents an interactive control on the screen that the user can manipulate with the mouse.

Author:
  sug

### Constructor Summary

Constructors
Constructor and Description
`PDButton(PDAcroForm acroForm)`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`String` `getDefaultValue()` Returns the default value, if any.
`List<String>` `getExportValues()` This will get the (optional) export values.
`Set<String>` `getOnValues()` Get the values to set individual buttons within a group to the on state.
`String` `getValue()` Returns the selected value.
`String` `getValueAsString()` Returns a string representation of the "V" entry, or an empty string.
`boolean` `isPushButton()` Determines if push button bit is set.
`boolean` `isRadioButton()` Determines if radio button bit is set.
`void` `setDefaultValue(String value)` Sets the default value.
`void` `setExportValues(List<String> values)` This will set the export values.
`void` `setPushButton(boolean pushbutton)` Deprecated. use `PDPushButton` instead
`void` `setRadioButton(boolean radiobutton)` Deprecated. use `PDRadioButton` instead
`void` `setValue(int index)` Set the selected option given its index, and try to update the visual appearance.
`void` `setValue(String value)` Sets the selected option given its name.

### Methods inherited from class org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField

`applyChange, getFieldFlags, getFieldType, getWidget, getWidgets, importFDF, setActions, setWidgets`

### Methods inherited from class org.apache.pdfbox.pdmodel.interactive.form.PDField

`equals, getAcroForm, getActions, getAlternateFieldName, getCOSObject, getFullyQualifiedName, getInheritableAttribute, getMappingName, getParent, getPartialName, hashCode, isNoExport, isReadOnly, isRequired, setAlternateFieldName, setFieldFlags, setMappingName, setNoExport, setPartialName, setReadOnly, setRequired, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### PDButton

    public PDButton(PDAcroForm acroForm)

Parameters:
  `acroForm` - The acroform.
See Also:
  `PDField(PDAcroForm)`

### Method Detail

#### isPushButton

    public boolean isPushButton()

Determines if push button bit is set.

Returns:
  true if type of button field is a push button.

#### setPushButton

    @Deprecated
    public void setPushButton(boolean pushbutton)

Deprecated. use `PDPushButton` instead
Set the push button bit.

Parameters:
  `pushbutton` - if true the button field is treated as a push button field.

#### isRadioButton

    public boolean isRadioButton()

Determines if radio button bit is set.

Returns:
  true if type of button field is a radio button.

#### setRadioButton

    @Deprecated
    public void setRadioButton(boolean radiobutton)

Deprecated. use `PDRadioButton` instead
Set the radio button bit.

Parameters:
  `radiobutton` - if true the button field is treated as a radio button field.

#### getValue

    public String getValue()

Returns the selected value.

Off is the default value which will also be returned if the value hasn't been set at all.

Returns:
  A non-null string.

#### setValue

    public void setValue(String value)
                  throws IOException

Sets the selected option given its name. It also tries to update the visual appearance, unless `PDAcroForm.getNeedAppearances()` is true.

Specified by:
  `setValue` in class `PDField`
Parameters:
  `value` - Name of option to select
Throws:
  `IOException` - if the value could not be set
  `IllegalArgumentException` - if the value is not a valid option.

#### setValue

    public void setValue(int index)
                  throws IOException

Set the selected option given its index, and try to update the visual appearance. NOTE: this method is only usable if there are export values and used for radio buttons with FLAG_RADIOS_IN_UNISON not set.

Parameters:
  `index` - index of option to be selected
Throws:
  `IOException` - if the value could not be set
  `IllegalArgumentException` - if the index provided is not a valid index.

#### getDefaultValue

    public String getDefaultValue()

Returns the default value, if any.

Returns:
  A non-null string.

#### setDefaultValue

    public void setDefaultValue(String value)

Sets the default value.

Parameters:
  `value` - Name of option to select
Throws:
  `IllegalArgumentException` - if the value is not a valid option.

#### getValueAsString

    public String getValueAsString()

Description copied from class: `PDField`
Returns a string representation of the "V" entry, or an empty string.

Specified by:
  `getValueAsString` in class `PDField`
Returns:
  The list of widget annotations.

#### getExportValues

    public List<String> getExportValues()

This will get the (optional) export values.

The export values are defined in the field dictionaries /Opt key.

The option values are used to define the export values for the field to

- hold values in non-Latin writing systems as name objects, which represent the field value, are limited to PDFDocEncoding
- allow radio buttons having the same export value to be handled independently

Returns:
  List containing all possible export values. If there is no /Opt entry an empty list will be returned.
See Also:
  `getOnValues()`

#### setExportValues

    public void setExportValues(List<String> values)

This will set the export values.

Parameters:
  `values` - List containing all possible export values. Supplying null or an empty list will remove the Opt entry.
See Also:
  `getExportValues()`

#### getOnValues

    public Set<String> getOnValues()

Get the values to set individual buttons within a group to the on state.

The On value could be an arbitrary string as long as it is within the limitations of a PDF name object. The Off value shall always be 'Off'. If not set or not part of the normal appearance keys 'Off' is the default

Returns:
  the potential values setting the check box to the On state. If an empty Set is returned there is no appearance definition.