com.lowagie.text.pdf

## Class RadioCheckField

- java.lang.Object
- - com.lowagie.text.pdf.BaseField
  - - com.lowagie.text.pdf.RadioCheckField

-     public class RadioCheckField
      extends BaseField

  Creates a radio or a check field.

  Example usage:

       Document document = new Document(PageSize.A4, 50, 50, 50, 50);
       PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
       document.open();
       PdfContentByte cb = writer.getDirectContent();
       RadioCheckField bt = new RadioCheckField(writer, new Rectangle(100, 100, 200, 200), "radio", "v1");
       bt.setCheckType(RadioCheckField.TYPE_CIRCLE);
       bt.setBackgroundColor(Color.cyan);
       bt.setBorderStyle(PdfBorderDictionary.STYLE_SOLID);
       bt.setBorderColor(Color.red);
       bt.setTextColor(Color.yellow);
       bt.setBorderWidth(BaseField.BORDER_WIDTH_THICK);
       bt.setChecked(false);
       PdfFormField f1 = bt.getRadioField();
       bt.setOnValue("v2");
       bt.setChecked(true);
       bt.setBox(new Rectangle(100, 300, 200, 400));
       PdfFormField f2 = bt.getRadioField();
       bt.setChecked(false);
       PdfFormField top = bt.getRadioGroup(true, false);
       bt.setOnValue("v3");
       bt.setBox(new Rectangle(100, 500, 200, 600));
       PdfFormField f3 = bt.getRadioField();
       top.addKid(f1);
       top.addKid(f2);
       top.addKid(f3);
       writer.addAnnotation(top);
       bt = new RadioCheckField(writer, new Rectangle(300, 300, 400, 400), "check1", "Yes");
       bt.setCheckType(RadioCheckField.TYPE_CHECK);
       bt.setBorderWidth(BaseField.BORDER_WIDTH_THIN);
       bt.setBorderColor(Color.black);
       bt.setBackgroundColor(Color.white);
       PdfFormField ck = bt.getCheckField();
       writer.addAnnotation(ck);
       document.close();

  Author:
    Paulo Soares (psoares@consiste.pt)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private boolean` | `checked` Holds value of property checked.
    `private int` | `checkType` Holds value of property checkType.
    `private java.lang.String` | `onValue` Holds value of property onValue.
    `static int` | `TYPE_CHECK` A field with the symbol check
    `static int` | `TYPE_CIRCLE` A field with the symbol circle
    `static int` | `TYPE_CROSS` A field with the symbol cross
    `static int` | `TYPE_DIAMOND` A field with the symbol diamond
    `static int` | `TYPE_SQUARE` A field with the symbol square
    `static int` | `TYPE_STAR` A field with the symbol star
    `private static java.lang.String[]` | `typeChars`

    - ### Fields inherited from class com.lowagie.text.pdf.BaseField

      `alignment, backgroundColor, BORDER_WIDTH_MEDIUM, BORDER_WIDTH_THICK, BORDER_WIDTH_THIN, borderColor, borderStyle, borderWidth, box, COMB, DO_NOT_SCROLL, DO_NOT_SPELL_CHECK, EDIT, fieldName, FILE_SELECTION, font, fontSize, HIDDEN, HIDDEN_BUT_PRINTABLE, maxCharacterLength, MULTILINE, MULTISELECT, options, PASSWORD, READ_ONLY, REQUIRED, rotation, text, textColor, visibility, VISIBLE, VISIBLE_BUT_DOES_NOT_PRINT, writer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RadioCheckField(PdfWriter writer, Rectangle box, java.lang.String fieldName, java.lang.String onValue)` Creates a new instance of RadioCheckField

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `PdfAppearance` | `getAppearance(boolean isRadio, boolean on)` Gets the field appearance.
    `PdfAppearance` | `getAppearanceRadioCircle(boolean on)` Gets the special field appearance for the radio circle.
    `PdfFormField` | `getCheckField()` Gets the check field.
    `int` | `getCheckType()` Getter for property checkType.
    `protected PdfFormField` | `getField(boolean isRadio)` Gets a radio or check field.
    `java.lang.String` | `getOnValue()` Getter for property onValue.
    `PdfFormField` | `getRadioField()` Gets the radio field.
    `PdfFormField` | `getRadioGroup(boolean noToggleToOff, boolean radiosInUnison)` Gets a radio group.
    `boolean` | `isChecked()` Getter for property checked.
    `void` | `setChecked(boolean checked)` Sets the state of the field to checked or unchecked.
    `void` | `setCheckType(int checkType)` Sets the checked symbol.
    `void` | `setOnValue(java.lang.String onValue)` Sets the value when the field is checked.

    - ### Methods inherited from class com.lowagie.text.pdf.BaseField

      `breakLines, getAlignment, getBackgroundColor, getBorderAppearance, getBorderColor, getBorderStyle, getBorderWidth, getBox, getFieldName, getFont, getFontSize, getHardBreaks, getMaxCharacterLength, getOptions, getRealFont, getRotation, getText, getTextColor, getVisibility, getWriter, moveFields, setAlignment, setBackgroundColor, setBorderColor, setBorderStyle, setBorderWidth, setBox, setFieldName, setFont, setFontSize, setMaxCharacterLength, setOptions, setRotation, setRotationFromPage, setText, setTextColor, setVisibility, setWriter, trimRight`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TYPE_CHECK

          public static final int TYPE_CHECK

      A field with the symbol check
      See Also:
        Constant Field Values

    - #### TYPE_CIRCLE

          public static final int TYPE_CIRCLE

      A field with the symbol circle
      See Also:
        Constant Field Values

    - #### TYPE_CROSS

          public static final int TYPE_CROSS

      A field with the symbol cross
      See Also:
        Constant Field Values

    - #### TYPE_DIAMOND

          public static final int TYPE_DIAMOND

      A field with the symbol diamond
      See Also:
        Constant Field Values

    - #### TYPE_SQUARE

          public static final int TYPE_SQUARE

      A field with the symbol square
      See Also:
        Constant Field Values

    - #### TYPE_STAR

          public static final int TYPE_STAR

      A field with the symbol star
      See Also:
        Constant Field Values

    - #### typeChars

          private static java.lang.String[] typeChars

    - #### checkType

          private int checkType

      Holds value of property checkType.

    - #### onValue

          private java.lang.String onValue

      Holds value of property onValue.

    - #### checked

          private boolean checked

      Holds value of property checked.

  - ### Constructor Detail

    - #### RadioCheckField

          public RadioCheckField(PdfWriter writer,
                         Rectangle box,
                         java.lang.String fieldName,
                         java.lang.String onValue)

      Creates a new instance of RadioCheckField
      Parameters:
        `writer` - the document `PdfWriter`
        `box` - the field location and dimensions
        `fieldName` - the field name. It must not be `null`
        `onValue` - the value when the field is checked

  - ### Method Detail

    - #### getCheckType

          public int getCheckType()

      Getter for property checkType.
      Returns:
        Value of property checkType.

    - #### setCheckType

          public void setCheckType(int checkType)

      Sets the checked symbol. It can be `TYPE_CHECK`, `TYPE_CIRCLE`, `TYPE_CROSS`, `TYPE_DIAMOND`, `TYPE_SQUARE` and `TYPE_STAR`.
      Parameters:
        `checkType` - the checked symbol

    - #### getOnValue

          public java.lang.String getOnValue()

      Getter for property onValue.
      Returns:
        Value of property onValue.

    - #### setOnValue

          public void setOnValue(java.lang.String onValue)

      Sets the value when the field is checked.
      Parameters:
        `onValue` - the value when the field is checked

    - #### isChecked

          public boolean isChecked()

      Getter for property checked.
      Returns:
        Value of property checked.

    - #### setChecked

          public void setChecked(boolean checked)

      Sets the state of the field to checked or unchecked.
      Parameters:
        `checked` - the state of the field, `true` for checked and `false` for unchecked

    - #### getAppearance

          public PdfAppearance getAppearance(boolean isRadio,
                                    boolean on)
                                      throws java.io.IOException,
                                             DocumentException

      Gets the field appearance.
      Parameters:
        `isRadio` - `true` for a radio field and `false` for a check field
        `on` - `true` for the checked state, `false` otherwise
      Returns:
        the appearance
      Throws:
        `java.io.IOException` - on error
        `DocumentException` - on error

    - #### getAppearanceRadioCircle

          public PdfAppearance getAppearanceRadioCircle(boolean on)

      Gets the special field appearance for the radio circle.
      Parameters:
        `on` - `true` for the checked state, `false` otherwise
      Returns:
        the appearance

    - #### getRadioGroup

          public PdfFormField getRadioGroup(boolean noToggleToOff,
                                   boolean radiosInUnison)

      Gets a radio group. It's composed of the field specific keys, without the widget ones. This field is to be used as a field aggregator with `addKid()`.
      Parameters:
        `noToggleToOff` - if `true`, exactly one radio button must be selected at all times; clicking the currently selected button has no effect. If `false`, clicking the selected button deselects it, leaving no button selected.
        `radiosInUnison` - if `true`, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If `false`, the buttons are mutually exclusive (the same behavior as HTML radio buttons)
      Returns:
        the radio group

    - #### getRadioField

          public PdfFormField getRadioField()
                                     throws java.io.IOException,
                                            DocumentException

      Gets the radio field. It's only composed of the widget keys and must be used with `getRadioGroup(boolean,boolean)`.
      Returns:
        the radio field
      Throws:
        `java.io.IOException` - on error
        `DocumentException` - on error

    - #### getCheckField

          public PdfFormField getCheckField()
                                     throws java.io.IOException,
                                            DocumentException

      Gets the check field.
      Returns:
        the check field
      Throws:
        `java.io.IOException` - on error
        `DocumentException` - on error

    - #### getField

          protected PdfFormField getField(boolean isRadio)
                                   throws java.io.IOException,
                                          DocumentException

      Gets a radio or check field.
      Parameters:
        `isRadio` - `true` to get a radio field, `false` to get a check field
      Returns:
        the field
      Throws:
        `java.io.IOException` - on error
        `DocumentException` - on error