# Serialized Form

## Package com.github.lgooddatepicker.components

### Class com.github.lgooddatepicker.components.CalendarPanel extends JPanel implements Serializable

### Serialized Fields

#### dateLabels

    ArrayList<E> dateLabels

dateLabels, This holds a list of all the date labels in the calendar, including ones that currently have dates or ones that are blank. This will always have exactly 42 labels. Date labels are reused when the currently displayed month or year is changed. The first date label is at index zero.

#### topLeftLabel

    JLabel topLeftLabel

topLeftLabel, This holds the top left label, which lies at the intersection of the weekday labels row and the week number labels column.

#### weekdayLabels

    ArrayList<E> weekdayLabels

weekdayLabels, This holds a list of all the weekday labels in the calendar. This will always have exactly 7 labels. Individual weekday labels can display different days of the week depending on the currently set "first day of the week". Weekday labels are reused when the currently displayed month or year is changed. The first weekday label is at index zero.

#### weekNumberLabels

    ArrayList<E> weekNumberLabels

weekNumberLabels, This holds a list of all the week number labels in the calendar. This will always have exactly 6 labels. These are used to display the "week number of the year" for the calendar rows (the calendar weeks). These labels may or may not be visible, depending on the current DatePickerSettings. Week number labels are reused when the currently displayed month or year is changed. The first week number label is at index zero.

#### borderLabels

    JLabel[][] borderLabels

borderLabels, This holds a two dimensional array of all the border labels in the calendar. Row 0 and Column 0 of the array will always contain null. Some of the other array elements will also always contain null. Below is a visual representation of the location of the border labels inside this array. The character 'X' represents a border label, and 'o' represents null.

     ~012345
     0oooooo
     1oXXXXX
     2oXoXoX
     3oXXXXX
     4oXoXoX
     5oXXXXX

#### calendarSelectionListeners

    ArrayList<E> calendarSelectionListeners

calendarSelectionListeners, This holds a list of calendar selection listeners that wish to be notified each time that a date is selected in the calendar panel.

#### displayedSelectedDate

    LocalDate displayedSelectedDate

displayedSelectedDate, This stores a date that will be highlighted in the calendar as the "selected date", or it holds null if no date has been selected. This date is copied from the date picker when the calendar is opened. This should not be confused with the "lastValidDate" of a date picker object. This variable holds the selected date only for display purposes and internal CalendarPanel use.

#### displayedYearMonth

    YearMonth displayedYearMonth

displayedYearMonth, This stores the currently displayed year and month. This defaults to the current year and month. This will never be null.

#### isIndependentCalendarPanel

    boolean isIndependentCalendarPanel

isIndependentCalendarPanel, This indicates whether or not this is an independent calendar panel. This is true if this is an independent calendar panel, or false if this is a private calendar panel for a DatePicker instance.

#### labelIndicatorEmptyBorder

    EmptyBorder labelIndicatorEmptyBorder

labelIndicatorEmptyBorder, This stores the empty border and the empty border size for the following labels: Month indicator, Year indicator, Set date to Today, Clear date.

#### settings

    DatePickerSettings settings

settings, This holds a reference to the date picker settings for this calendar panel. This will never be null after it is initialized, but it could be null before setSettings() is called for the first time. Any functions that rely on the settings should check for null and return if null, before continuing the function.

#### yearTextField

    JIntegerTextField yearTextField

yearTextField, The year text field is displayed any time that the user clicks the ellipsis (...) inside the year selection drop down menu. This field allows the user to type year numbers using the keyboard when desired.

#### headerControlsPanel

    JPanel headerControlsPanel

JFormDesigner GUI components, These variables are automatically generated by JFormDesigner. This section should not be modified by hand, but only modified from within the JFormDesigner program.

#### buttonPreviousYear

    JButton buttonPreviousYear

#### buttonPreviousMonth

    JButton buttonPreviousMonth

#### monthAndYearOuterPanel

    JPanel monthAndYearOuterPanel

#### monthAndYearInnerPanel

    JPanel monthAndYearInnerPanel

#### labelMonth

    JLabel labelMonth

#### labelYear

    JLabel labelYear

#### buttonNextMonth

    JButton buttonNextMonth

#### buttonNextYear

    JButton buttonNextYear

#### centerPanel

    JPanel centerPanel

#### footerPanel

    JPanel footerPanel

#### labelSetDateToToday

    JLabel labelSetDateToToday

#### labelClearDate

    JLabel labelClearDate

#### yearEditorPanel

    JPanel yearEditorPanel

#### doneEditingYearButton

    JButton doneEditingYearButton

### Class com.github.lgooddatepicker.components.DatePicker extends JPanel implements Serializable

### Serialized Fields

#### calendarPanel

    CalendarPanel calendarPanel

calendarPanel, This holds the calendar panel GUI component of this date picker. This should be null when the date picker calendar is closed, and hold a calendar panel instance when the date picker calendar is opened.

#### componentListeners

    ArrayList<E> componentListeners

componentListeners, This holds any component listeners for the DatePicker.

#### convert

    Convert convert

convert, This utility class instance is used to get or set the DatePicker java.time.LocalDate value, using other common date related data types.

#### dateChangeListeners

    ArrayList<E> dateChangeListeners

dateChangeListeners, This holds a list of date change listeners that wish to be notified each time that the last valid date is changed.

#### lastPopupCloseTime

    Instant lastPopupCloseTime

lastPopupCloseTime, This holds a timestamp that indicates when the calendar was last closed. This is used to implement a workaround for event behavior that was causing the date picker class to erroneously re-open a calendar when the user was clicking on the show calendar button in an attempt to close the previous calendar.

#### lastValidDate

    LocalDate lastValidDate

lastValidDate, This holds the last valid date that was entered into the date picker. This value is returned from the function DatePicker.getDate(); Implementation note: After initialization, variable should never be -set- directly. Instead, use the date setting function that will notify the list of dateChangeListeners each time that this value is changed.

#### popup

    CustomPopup popup

popup, This is the custom popup instance for this date picker. This should remain null until a popup is opened. Creating a custom popup class allowed us to control the details of when the popup menu should be open or closed.

#### settings

    DatePickerSettings settings

settings, This holds the settings instance for this date picker. Default settings are generated automatically. Custom settings may optionally be supplied in the DatePicker constructor. This will never be null after it is initialized, but it could be null before setSettings() is called for the first time. Any functions that rely on the settings should check for null and return if null, before continuing the function.

#### skipTextFieldChangedFunctionWhileTrue

    boolean skipTextFieldChangedFunctionWhileTrue

skipTextFieldChangedFunctionWhileTrue, While this is true, the function "zTextFieldChangedSoIndicateIfValidAndStoreWhenValid()" will not be executed in response to date text field text change events.

#### dateTextField

    JTextField dateTextField

JFormDesigner GUI components, These variables are automatically generated by JFormDesigner. This section should not be modified by hand, but only modified from within the JFormDesigner program.

#### toggleCalendarButton

    JButton toggleCalendarButton

### Class com.github.lgooddatepicker.components.DateTimePicker extends JPanel implements Serializable

### Serialized Fields

#### datePicker

    DatePicker datePicker

datePicker, This holds the date picker component of this DateTimePicker.

#### dateTimeChangeListeners

    ArrayList<E> dateTimeChangeListeners

dateTimeChangeListeners, This holds a list of dateTimeChangeListeners that wish to be notified whenever the last valid date or the last valid time has changed.

#### timePicker

    TimePicker timePicker

timePicker, This holds the time picker component of this DateTimePicker.

### Class com.github.lgooddatepicker.components.TimePicker extends JPanel implements Serializable

### Serialized Fields

#### enableArrowKeys

    boolean enableArrowKeys

enableArrowKeys, This determines if the arrow keys will be handled by this time picker. If this is true, then the up and down arrow keys can be used as spinner controls, and the right arrow will open the time picker menu. If this is false, then the arrow keys will not be handled. This is set to true by default.

#### lastPopupCloseTime

    Instant lastPopupCloseTime

lastPopupCloseTime, This holds a timestamp that indicates when the popup menu was last closed. This is used to implement a workaround for event behavior that was causing the time picker class to erroneously re-open the menu when the user was clicking on the show menu button in an attempt to close the previous menu.

#### lastValidTime

    LocalTime lastValidTime

lastValidTime, This holds the last valid time that was entered into the time picker. This value is returned from the function TimePicker.getTime(); Implementation note: After initialization, variable should never be -set- directly. Instead, use the time setting function that will notify the list of timeChangeListeners each time that this value is changed.

#### popup

    CustomPopup popup

popup, This is the custom popup instance for this time picker. This should remain null until a popup is opened. Creating a custom popup class allowed us to control the details of when the popup menu should be open or closed.

#### settings

    TimePickerSettings settings

settings, This holds the settings instance for this time picker. Default settings are generated automatically. Custom settings may optionally be supplied in the TimePicker constructor.

#### skipTextFieldChangedFunctionWhileTrue

    boolean skipTextFieldChangedFunctionWhileTrue

skipTextFieldChangedFunctionWhileTrue, While this is true, the function "zTextFieldChangedSoIndicateIfValidAndStoreWhenValid()" will not be executed in response to time text field text change events.

#### timeChangeListeners

    ArrayList<E> timeChangeListeners

timeChangeListeners, This holds a list of time change listeners that wish to be notified whenever the last valid time is changed.

#### timeMenuPanel

    TimeMenuPanel timeMenuPanel

timeMenuPanel, This holds the menu panel GUI component of this time picker. This should be null when the time picker menu is closed, and hold a time menu panel instance when the time picker menu is opened.

#### decreaseTimer

    TimeSpinnerTimer decreaseTimer

#### increaseTimer

    TimeSpinnerTimer increaseTimer

#### timeTextField

    JTextField timeTextField

JFormDesigner GUI components, These variables are automatically generated by JFormDesigner. This section should not be modified by hand, but only modified from within the JFormDesigner program.

#### toggleTimeMenuButton

    JButton toggleTimeMenuButton

#### spinnerPanel

    JPanel spinnerPanel

#### increaseButton

    JButton increaseButton

#### decreaseButton

    JButton decreaseButton

## Package com.github.lgooddatepicker.demo

### Class com.github.lgooddatepicker.demo.BasicDemo extends JFrame implements Serializable

### Class com.github.lgooddatepicker.demo.TableEditorsDemo extends JPanel implements Serializable

### Class com.github.lgooddatepicker.demo.zExtra_DataBindingDemo extends JFrame implements Serializable

## Package com.github.lgooddatepicker.durationpicker_underconstruction

### Class com.github.lgooddatepicker.durationpicker_underconstruction.DurationDemo extends JFrame implements Serializable

### Class com.github.lgooddatepicker.durationpicker_underconstruction.DurationPicker extends JComboBox implements Serializable

### Serialized Fields

#### converterSettings

    DurationConverterSettings converterSettings

#### allowEmptyDuration

    boolean allowEmptyDuration

#### allowZeroDuration

    boolean allowZeroDuration

#### allowMinimumDuration

    Duration allowMinimumDuration

#### allowMaximumDuration

    Duration allowMaximumDuration

## Package com.github.lgooddatepicker.tableeditors

### Class com.github.lgooddatepicker.tableeditors.DateTableEditor extends AbstractCellEditor implements Serializable

### Serialized Fields

#### autoAdjustMinimumTableRowHeight

    boolean autoAdjustMinimumTableRowHeight

autoAdjustMinimumTableRowHeight, This indicates whether the minimum table row height (for all rows) should be modified when an editor or render is displayed. The row height is only adjusted if it is below the minimum value needed to display the date picker component.

#### clickCountToEdit

    int clickCountToEdit

clickCountToEdit, An integer specifying the number of clicks needed to start editing. Even if clickCountToEdit is defined as zero, it will not initiate until a click occurs.

#### matchTableBackgroundColor

    boolean matchTableBackgroundColor

matchTableBackgroundColor, This indicates whether this table editor should set the picker text area background color to match the background color of the table. The default value is true.

#### matchTableSelectionBackgroundColor

    boolean matchTableSelectionBackgroundColor

matchTableSelectionBackgroundColor, This indicates whether this table editor should set the picker text area background color to match the background color of the table selection (when selected). The default value is true.

#### borderFocusedCell

    Border borderFocusedCell

borderFocusedCell, This holds the border that is used when a cell has focus.

#### borderUnfocusedCell

    Border borderUnfocusedCell

borderUnfocusedCell, This holds the border that is used when a cell does not have focus.

#### datePicker

    DatePicker datePicker

datepicker, This holds the date picker instance.

#### minimumRowHeightInPixels

    int minimumRowHeightInPixels

minimumRowHeight, This holds the minimum row height needed to display the date picker.

### Class com.github.lgooddatepicker.tableeditors.DateTimeTableEditor extends AbstractCellEditor implements Serializable

### Serialized Fields

#### autoAdjustMinimumTableRowHeight

    boolean autoAdjustMinimumTableRowHeight

autoAdjustMinimumTableRowHeight, This indicates whether the minimum table row height (for all rows) should be modified when an editor or render is displayed. The row height is only adjusted if it is below the minimum value needed to display the DateTimePicker component.

#### clickCountToEdit

    int clickCountToEdit

clickCountToEdit, An integer specifying the number of clicks needed to start editing. Even if clickCountToEdit is defined as zero, it will not initiate until a click occurs.

#### matchTableBackgroundColor

    boolean matchTableBackgroundColor

matchTableBackgroundColor, This indicates whether this table editor should set the picker text area background color to match the background color of the table. The default value is true.

#### matchTableSelectionBackgroundColor

    boolean matchTableSelectionBackgroundColor

matchTableSelectionBackgroundColor, This indicates whether this table editor should set the picker text area background color to match the background color of the table selection (when selected). The default value is true.

#### borderFocusedCell

    Border borderFocusedCell

borderFocusedCell, This holds the border that is used when a cell has focus.

#### borderUnfocusedCell

    Border borderUnfocusedCell

borderUnfocusedCell, This holds the border that is used when a cell does not have focus.

#### dateTimePicker

    DateTimePicker dateTimePicker

dateTimepicker, This holds the DateTimePicker instance.

#### minimumRowHeightInPixels

    int minimumRowHeightInPixels

minimumRowHeight, This holds the minimum row height needed to display the DateTimePicker.

### Class com.github.lgooddatepicker.tableeditors.TimeTableEditor extends AbstractCellEditor implements Serializable

### Serialized Fields

#### autoAdjustMinimumTableRowHeight

    boolean autoAdjustMinimumTableRowHeight

autoAdjustMinimumTableRowHeight, This indicates whether the minimum table row height (for all rows) should be modified when an editor or render is displayed. The row height is only adjusted if it is below the minimum value needed to display the time picker component.

#### clickCountToEdit

    int clickCountToEdit

clickCountToEdit, An integer specifying the number of clicks needed to start editing. Even if clickCountToEdit is defined as zero, it will not initiate until a click occurs.

#### matchTableBackgroundColor

    boolean matchTableBackgroundColor

matchTableBackgroundColor, This indicates whether this table editor should set the picker text area background color to match the background color of the table. The default value is true.

#### matchTableSelectionBackgroundColor

    boolean matchTableSelectionBackgroundColor

matchTableSelectionBackgroundColor, This indicates whether this table editor should set the picker text area background color to match the background color of the table selection (when selected). The default value is true.

#### borderFocusedCell

    Border borderFocusedCell

borderFocusedCell, This holds the border that is used when a cell has focus.

#### borderUnfocusedCell

    Border borderUnfocusedCell

borderUnfocusedCell, This holds the border that is used when a cell does not have focus.

#### timePicker

    TimePicker timePicker

timepicker, This holds the time picker instance.

#### minimumRowHeightInPixels

    int minimumRowHeightInPixels

minimumRowHeight, This holds the minimum row height needed to display the time picker.

## Package com.github.lgooddatepicker.ysandbox

### Class com.github.lgooddatepicker.ysandbox.ComboBoxTesting extends JPanel implements Serializable

### Serialized Fields

#### textField1

    JTextField textField1

#### textField2

    JTextField textField2

#### comboBox1

    JComboBox<E> comboBox1

#### spinner1

    JSpinner spinner1

## Package com.github.lgooddatepicker.zinternaltools

### Class com.github.lgooddatepicker.zinternaltools.DemoPanel extends JPanel implements Serializable

### Serialized Fields

#### labelFeatures

    JLabel labelFeatures

#### labelFeatures2

    JLabel labelFeatures2

#### labelLanguages

    JLabel labelLanguages

#### labelFeatures3

    JLabel labelFeatures3

#### scrollPaneDate

    JScrollPane scrollPaneDate

#### panel1

    JPanel panel1

#### scrollPaneTime

    JScrollPane scrollPaneTime

#### panel2

    JPanel panel2

#### scrollPaneLanguages

    JScrollPane scrollPaneLanguages

#### panel4

    JPanel panel4

#### outerButtonPanel

    JPanel outerButtonPanel

#### scrollPaneForButtons

    JScrollPane scrollPaneForButtons

#### independentCalendarOuterPanel

    JPanel independentCalendarOuterPanel

#### scrollPaneForCalendarPanelNotes

    JScrollPane scrollPaneForCalendarPanelNotes

#### calendarPanelNotesTextArea

    JTextArea calendarPanelNotesTextArea

#### scrollPaneForIndependentCalendar

    JScrollPane scrollPaneForIndependentCalendar

#### independentCalendarPanel

    JPanel independentCalendarPanel

#### messageTextAreaScrollPane

    JScrollPane messageTextAreaScrollPane

#### messageTextArea

    JTextArea messageTextArea

### Class com.github.lgooddatepicker.zinternaltools.JIntegerTextField extends JTextField implements Serializable

### Serialized Fields

#### maximumValue

    int maximumValue

#### minimumValue

    int minimumValue

#### numberChangeListener

    JIntegerTextField.IntegerTextFieldNumberChangeListener numberChangeListener

#### skipNotificationOfNumberChangeListenerWhileTrue

    boolean skipNotificationOfNumberChangeListenerWhileTrue

### Class com.github.lgooddatepicker.zinternaltools.TimeMenuPanel extends JPanel implements Serializable

### Serialized Fields

#### minimumMouseReleaseFromToggleButtonMilliseconds

    int minimumMouseReleaseFromToggleButtonMilliseconds

minimumMouseReleaseFromToggleButtonMilliseconds, This is how long we should wait, before allowing the time menu panel to be closed during a mouse release event that originates from the toggle button. This is used to prevent accidental premature list closing when pressing the toggle button and moving the mouse downwards. The mouse release event from the toggle button will only be enabled after this amount of time has passed since construction.

#### minimumTimeToEnableMouseReleaseFromToggleButton

    long minimumTimeToEnableMouseReleaseFromToggleButton

minimumTimeToEnableMouseReleaseFromToggleButton, This is the "currentTimeMillis()" value that must be passed, to enable the mouse release event from the toggle button. This equals ((System.currentTimeMillis() at construction) + minimumMouseReleaseCloseMilliSeconds). This is calculated at the end of the constructor.

#### parentTimePicker

    TimePicker parentTimePicker

parentTimePicker, This holds our parent time picker instance. This is supplied at construction.

#### settings

    TimePickerSettings settings

settings, This holds our time picker settings instance. This is supplied at construction.

#### timeListModel

    DefaultListModel<E> timeListModel

timeListModel, The holds the list model that is used for populating the time list.

#### timeScrollPane

    JScrollPane timeScrollPane

#### timeList

    JList<E> timeList

### Class com.github.lgooddatepicker.zinternaltools.WrapLayout extends FlowLayout implements Serializable

### Serialized Fields

#### preferredLayoutSize

    Dimension preferredLayoutSize

## Package com.privatejgoodies.common.bean

### Class com.privatejgoodies.common.bean.Bean extends Object implements Serializable

## Package com.privatejgoodies.forms.factories

### Class com.privatejgoodies.forms.factories.CC extends Object implements Serializable

## Package com.privatejgoodies.forms.layout

### Class com.privatejgoodies.forms.layout.BoundedSize extends Object implements Serializable

### Serialized Fields

#### basis

    Size basis

Holds the base size.

#### lowerBound

    Size lowerBound

Holds an optional lower bound.

#### upperBound

    Size upperBound

Holds an optional upper bound.

### Class com.privatejgoodies.forms.layout.CellConstraints extends Object implements Serializable

### Serialized Fields

#### gridX

    int gridX

Describes the component's horizontal grid origin (starts at 1).

#### gridY

    int gridY

Describes the component's vertical grid origin (starts at 1).

#### gridWidth

    int gridWidth

Describes the component's horizontal grid extend (number of cells).

#### gridHeight

    int gridHeight

Describes the component's vertical grid extent (number of cells).

#### hAlign

    CellConstraints.Alignment hAlign

Describes the component's horizontal alignment.

#### vAlign

    CellConstraints.Alignment vAlign

Describes the component's vertical alignment.

#### insets

    Insets insets

Describes the component's `Insets` in it's display area.

#### honorsVisibility

    Boolean honorsVisibility

Describes whether individual components shall be taken into account by the FormLayout if 1) they are invisible and 2) the FormLayout does not honor the visibility. See `FormLayout.setHonorsVisibility(boolean)` and `FormLayout.setHonorsVisibility(Component, Boolean)` for a full description of this feature.

### Class com.privatejgoodies.forms.layout.CellConstraints.Alignment extends Object implements Serializable

### Serialization Methods

#### readResolve

    private Object readResolve()

### Serialized Fields

#### ordinal

    int ordinal

### Class com.privatejgoodies.forms.layout.ColumnSpec extends FormSpec implements Serializable

### Class com.privatejgoodies.forms.layout.ConstantSize extends Object implements Serializable

### Serialized Fields

#### value

    double value

#### unit

    ConstantSize.Unit unit

### Class com.privatejgoodies.forms.layout.ConstantSize.Unit extends Object implements Serializable

### Serialization Methods

#### readResolve

    private Object readResolve()

### Serialized Fields

#### ordinal

    int ordinal

### Class com.privatejgoodies.forms.layout.FormLayout extends Object implements Serializable

### Serialization Methods

#### writeObject

    private void writeObject(ObjectOutputStream out)
                      throws IOException

In addition to the default serialization mechanism this class invalidates the component size cache. The cache will be populated again after the deserialization. Also, the fields `colComponents` and `rowComponents` have been marked as transient to exclude them from the serialization.

Throws:
  `IOException`

### Serialized Fields

#### colSpecs

    List<E> colSpecs

Holds the column specifications.

See Also:
  `ColumnSpec`, `FormLayout.getColumnCount()`, `FormLayout.getColumnSpec(int)`, `FormLayout.appendColumn(ColumnSpec)`, `FormLayout.insertColumn(int, ColumnSpec)`, `FormLayout.removeColumn(int)`

#### rowSpecs

    List<E> rowSpecs

Holds the row specifications.

See Also:
  `RowSpec`, `FormLayout.getRowCount()`, `FormLayout.getRowSpec(int)`, `FormLayout.appendRow(RowSpec)`, `FormLayout.insertRow(int, RowSpec)`, `FormLayout.removeRow(int)`

#### colGroupIndices

    int[][] colGroupIndices

Holds the column groups as an array of arrays of column indices.

See Also:
  `FormLayout.getColumnGroups()`, `FormLayout.setColumnGroups(int[][])`, `FormLayout.addGroupedColumn(int)`

#### rowGroupIndices

    int[][] rowGroupIndices

Holds the row groups as an array of arrays of row indices.

See Also:
  `FormLayout.getRowGroups()`, `FormLayout.setRowGroups(int[][])`, `FormLayout.addGroupedRow(int)`

#### constraintMap

    Map<K,V> constraintMap

Maps components to their associated `CellConstraints`.

See Also:
  `CellConstraints`, `FormLayout.getConstraints(Component)`, `FormLayout.setConstraints(Component, CellConstraints)`

#### honorsVisibility

    boolean honorsVisibility

#### componentSizeCache

    com.privatejgoodies.forms.layout.FormLayout.ComponentSizeCache componentSizeCache

Caches component minimum and preferred sizes. All requests for component sizes shall be directed to the cache.

#### minimumWidthMeasure

    FormLayout.Measure minimumWidthMeasure

These functional objects are used to measure component sizes. They abstract from horizontal and vertical orientation and so, allow to implement the layout algorithm for both orientations with a single set of methods.

#### minimumHeightMeasure

    FormLayout.Measure minimumHeightMeasure

#### preferredWidthMeasure

    FormLayout.Measure preferredWidthMeasure

#### preferredHeightMeasure

    FormLayout.Measure preferredHeightMeasure

### Class com.privatejgoodies.forms.layout.FormSpec extends Object implements Serializable

### Serialized Fields

#### defaultAlignment

    FormSpec.DefaultAlignment defaultAlignment

Holds the default alignment that will be used if a cell does not override this default.

#### size

    Size size

Holds the size that describes how to size this column or row.

#### resizeWeight

    double resizeWeight

Holds the resize weight; is 0 if not used.

### Class com.privatejgoodies.forms.layout.FormSpec.DefaultAlignment extends Object implements Serializable

### Serialization Methods

#### readResolve

    private Object readResolve()

### Serialized Fields

#### ordinal

    int ordinal

### Class com.privatejgoodies.forms.layout.FormSpecParser.FormLayoutParseException extends RuntimeException implements Serializable

### Class com.privatejgoodies.forms.layout.PrototypeSize extends Object implements Serializable

### Serialized Fields

#### prototype

    String prototype

### Class com.privatejgoodies.forms.layout.RowSpec extends FormSpec implements Serializable

## Package com.privatejgoodies.forms.util

### Class com.privatejgoodies.forms.util.AbstractUnitConverter extends Bean implements Serializable

### Class com.privatejgoodies.forms.util.DefaultUnitConverter extends AbstractUnitConverter implements Serializable

### Serialized Fields

#### averageCharWidthTestString

    String averageCharWidthTestString

Holds the string that is used to compute the average character width. Since 1.6 the default value is the balanced average character test string, where it was just "X" before.

#### defaultDialogFont

    Font defaultDialogFont

Holds a custom font that is used to compute the global dialog base units. If not set, a fallback font is is lazily created in method #getCachedDefaultDialogFont, which in turn looks up a font in method #lookupDefaultDialogFont.

#### cachedGlobalDialogBaseUnits

    com.privatejgoodies.forms.util.DefaultUnitConverter.DialogBaseUnits cachedGlobalDialogBaseUnits

Holds the lazily created cached global dialog base units that are used if a component is not (yet) available - for example in a Border.

#### cachedDialogBaseUnits

    com.privatejgoodies.forms.util.DefaultUnitConverter.DialogBaseUnits cachedDialogBaseUnits

Holds the horizontal dialog base units that are valid for the FontMetrics stored in `cachedFontMetrics`.

#### cachedFontMetrics

    FontMetrics cachedFontMetrics

Holds the FontMetrics used to compute the per-component dialog units. The latter are valid, if a FontMetrics equals this stored metrics.

#### cachedDefaultDialogFont

    Font cachedDefaultDialogFont

Holds a cached default dialog font that is used as fallback, if no default dialog font has been set.

See Also:
  `DefaultUnitConverter.getDefaultDialogFont()`, `DefaultUnitConverter.setDefaultDialogFont(Font)`