Class CustomTabPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.nuix.nx.dialogs.CustomTabPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
- Direct Known Subclasses:
ScrollableCustomTabPanel
public class CustomTabPanel extends javax.swing.JPanel
This class represents a tab in theTabbedCustomDialog
class. This tab component hosts all the various methods for adding controls to a tab.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,javax.swing.ButtonGroup>
buttonGroups
protected int
CONTROL_COLUMN_WIDTH
protected java.lang.String
label
protected int
LABEL_COLUMN_WIDTH
protected TabbedCustomDialog
owner
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CustomTabPanel()
CustomTabPanel(java.lang.String label, TabbedCustomDialog owner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addBasicLabelledComponent(java.lang.String label, java.awt.Component component)
protected void
addBasicLabelledComponent(java.lang.String label, java.awt.Component component, boolean fillVertical)
protected void
addBasicLabelledComponent(java.lang.String label, java.awt.Component component, boolean fillVertical, boolean fillHorizontal)
protected void
addComponent(java.awt.Component component, int col)
protected void
addComponent(java.awt.Component component, int row, int col, int width, int height)
protected void
addComponent(java.awt.Component component, int row, int col, int width, int height, boolean fillVertical)
protected void
addComponent(java.awt.Component component, int row, int col, int width, int height, double weightx, double weighty)
protected void
addComponent(java.awt.Component component, java.awt.GridBagConstraints c)
protected void
addComponents(java.awt.Component leftComponent, java.awt.Component rightComponent)
CustomTabPanel
appendBatchExporterLoadFileSettings(java.lang.String identifier)
Appends a control with controls used to provide loadfile export settings, as passed toBatchExporter.addLoadFile(String, Map)
.CustomTabPanel
appendBatchExporterNativeSettings(java.lang.String identifier)
Appends a control with controls used to provide native export settings, as passed toBatchExporter.addProduct(String, Map)
for the "native" product.CustomTabPanel
appendBatchExporterPdfSettings(java.lang.String identifier)
Appends a control with controls used to provide PDF export settings, as passed toBatchExporter.addProduct(String, Map)
for the "pdf" product.CustomTabPanel
appendBatchExporterTextSettings(java.lang.String identifier)
Appends a control with controls used to provide text export settings, as passed toBatchExporter.addProduct(String, Map)
for the "text" product.CustomTabPanel
appendBatchExporterTraversalSettings(java.lang.String identifier)
Appends a control with controls used to provide traversal settings, as passed toBatchExporter.setTraversalOptions(Map)
.CustomTabPanel
appendButton(java.lang.String identifier, java.lang.String controlLabel, java.awt.event.ActionListener actionListener)
Appends a JButton control with the specified label and attaches the provided action listener to the button.ButtonRow
appendButtonRow(java.lang.String identifier)
CustomTabPanel
appendCheckableTextField(java.lang.String checkBoxId, boolean isChecked, java.lang.String textFieldId, java.lang.String textFieldDefault, java.lang.String controlLabel)
Appends a text field with an associated check box.CustomTabPanel
appendCheckBox(java.lang.String identifier, java.lang.String controlLabel, boolean isChecked)
Appends a check box control to the tab.CustomTabPanel
appendCheckBoxes(java.lang.String identifierA, java.lang.String controlLabelA, boolean isCheckedA, java.lang.String identifierB, java.lang.String controlLabelB, boolean isCheckedB)
Appends 2 check boxes, in a single row, to the tab.<T> CustomTabPanel
appendChoiceTable(java.lang.String identifier, java.lang.String controlLabel, java.util.List<Choice<T>> choices)
Appends a control which allows the user to select multiple choices.CustomTabPanel
appendComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices)
Appends a combo box control allowing a user to select one of many choices.CustomTabPanel
appendComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices, java.lang.Runnable callback)
Appends a combo box control allowing a user to select one of many choices.CustomTabPanel
appendComboItemBox(java.lang.String identifier, java.lang.String controlLabel, java.util.List<ComboItem> choices, java.lang.Runnable callback)
Appends a combo box control which takes a list ofComboItem
instances, allowing you to have each entry represent a specific value while having a separate value as the labeled choice displayed in the combo box.CustomTabPanel
appendCsvTable(java.lang.String identifier, java.util.List<java.lang.String> headers)
Appends a table control with the specified headers, which is capable of importing a CSV with the same headers.CustomTabPanel
appendCsvTable(java.lang.String identifier, java.util.List<java.lang.String> headers, java.lang.String defaultImportDirectory)
Appends a table control with the specified headers, which is capable of importing a CSV with the same headers.CustomTabPanel
appendDatePicker(java.lang.String identifier, java.lang.String controlLabel)
Appends a date picker field control to the dialog with the default date being today's date.CustomTabPanel
appendDatePicker(java.lang.String identifier, java.lang.String controlLabel, java.lang.Object defaultDate)
Appends a date picker field control to the dialogCustomTabPanel
appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel)
Appends a control which allows a user to select a directory.CustomTabPanel
appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel, PathSelectedCallback callback)
Appends a control which allows a user to select a directory.CustomTabPanel
appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String initialDirectory)
Appends a control which allows a user to select a directory.CustomTabPanel
appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String initialDirectory, PathSelectedCallback callback)
Appends a control which allows a user to select a directory.CustomTabPanel
appendDynamicTable(java.lang.String identifier, java.lang.String controlLabel, java.util.List<java.lang.String> headers, java.util.List<java.lang.Object> records, DynamicTableValueCallback callback)
Appends a fairly flexible table control to the tab.CustomTabPanel
appendFormattedInformation(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text)
Appends a read only text area control for you to place some user information similar toappendInformation(String, String, String)
.CustomTabPanel
appendHeader(java.lang.String text)
Appends a header label that spans 2 columns.CustomTabPanel
appendImage(java.io.File imageFile)
Appends an image to the tabCustomTabPanel
appendImage(java.lang.String imageFile)
Appends an image to the tabCustomTabPanel
appendInformation(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text)
Appends a read only text area control for you to place some user information.CustomTabPanel
appendLabel(java.lang.String identifier, java.lang.String text)
Appends a label that spans 2 columns.CustomTabPanel
appendLocalWorkerSettings(java.lang.String identifier)
Appends a control with controls used to provide worker settings, as passed toParallelProcessingConfigurable.setParallelProcessingSettings(Map)
.CustomTabPanel
appendMultipleChoiceComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.List<java.lang.String> choices)
Appends a combo box which allows you to select multiple choices from its drop down list by checking them.CustomTabPanel
appendMultipleChoiceComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.List<java.lang.String> choices, java.util.List<java.lang.String> defaultCheckedChoices)
Appends a combo box which allows you to select multiple choices from its drop down list by checking them.CustomTabPanel
appendOcrSettings(java.lang.String identifier)
Appends a control with controls used to provide OCR settings, as passed toOcrProcessor
.CustomTabPanel
appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension)
Appends a control which allows a user to select a file to open.CustomTabPanel
appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, PathSelectedCallback callback)
Appends a control which allows a user to select a file to open.CustomTabPanel
appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, java.lang.String initialDirectory)
Appends a control which allows a user to select a file to open.CustomTabPanel
appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, java.lang.String initialDirectory, PathSelectedCallback callback)
Appends a control which allows a user to select a file to open.CustomTabPanel
appendPasswordField(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text)
Appends a password text field control to the dialog.CustomTabPanel
appendPathList(java.lang.String identifier)
Appends a list box allowing the user to specify multiple file and directory paths.CustomTabPanel
appendPathList(java.lang.String identifier, java.util.List<java.lang.String> initialPaths)
Appends a list box allowing the user to specify multiple file and directory paths.CustomTabPanel
appendRadioButton(java.lang.String identifier, java.lang.String controlLabel, java.lang.String radioButtonGroupName, boolean isChecked)
Appends a radio button control to the dialog.CustomTabPanel
appendRadioButtonGroup(java.lang.String groupLabel, java.lang.String radioButtonGroupName, java.util.Map<java.lang.String,java.lang.String> radioButtonChoices)
CustomTabPanel
appendRadioButtonLeft(java.lang.String identifier, java.lang.String controlLabel, java.lang.String radioButtonGroupName, boolean isChecked)
CustomTabPanel
appendSaveFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension)
Appends a control which allows a user to select a file to save.CustomTabPanel
appendSaveFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, java.lang.String initialDirectory)
Appends a control which allows a user to select a file to save.CustomTabPanel
appendSearchableComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices)
Appends a combo box control allowing a user to select one of many choices and allows for filtering choices by typing in a value.CustomTabPanel
appendSeparator(java.lang.String label)
Appends a separator that spans 2 columns.CustomTabPanel
appendSlider(java.lang.String identifier, java.lang.String controlLabel)
Creates a new slider control that lets the user specify a value in the range 0 to 100 with an initial value of 50.CustomTabPanel
appendSlider(java.lang.String identifier, java.lang.String controlLabel, double initialValue)
Creates a new slider control that lets the user specify a value within the range of 0.0 to 1.0.CustomTabPanel
appendSlider(java.lang.String identifier, java.lang.String controlLabel, double initialValue, double min, double max)
Creates a new slider control that lets the user specify a value within a range using doubles.CustomTabPanel
appendSlider(java.lang.String identifier, java.lang.String controlLabel, int initialValue)
Creates a new slider control that lets the user specify a value in the range 0 to 100.CustomTabPanel
appendSlider(java.lang.String identifier, java.lang.String controlLabel, int initialValue, int min, int max)
Creates a new slider control that lets the user specify a value within a range using integers.CustomTabPanel
appendSpinner(java.lang.String identifier, java.lang.String controlLabel)
Creates a up/down number picker control (known in Java as a Spinner).CustomTabPanel
appendSpinner(java.lang.String identifier, java.lang.String controlLabel, int initialValue)
Creates a up/down number picker control (known in Java as a Spinner).CustomTabPanel
appendSpinner(java.lang.String identifier, java.lang.String controlLabel, int initialValue, int min, int max)
Creates a up/down number picker control (known in Java as a Spinner).CustomTabPanel
appendSpinner(java.lang.String identifier, java.lang.String controlLabel, int initialValue, int min, int max, int step)
Creates a up/down number picker control (known in Java as a Spinner).CustomTabPanel
appendStringChoiceTable(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices)
Appends a control which allows the user to select multiple choices.CustomTabPanel
appendStringList(java.lang.String identifier)
Appends a list box allowing the user to specify string values.CustomTabPanel
appendStringList(java.lang.String identifier, boolean editable)
Appends a list box allowing the user to specify string values.CustomTabPanel
appendStringList(java.lang.String identifier, java.util.List<java.lang.String> initialValues)
Appends a list box allowing the user to specify string values.CustomTabPanel
appendStringList(java.lang.String identifier, java.util.List<java.lang.String> initialValues, boolean editable)
Appends a list box allowing the user to specify string values.CustomTabPanel
appendTextArea(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text)
Appends a text area control to the dialog.CustomTabPanel
appendTextField(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text)
Appends a text field control to the dialog.protected CustomTabPanel
buildGenericSlider(java.lang.String identifier, java.lang.String controlLabel, javax.swing.BoundedRangeModel model, java.util.function.Consumer<javax.swing.JLabel> displayAdapter)
Put together the UI for a Slider controlvoid
doNotSerialize(java.lang.String identifier)
Allows you to specify that a particular control's value should not be serialized in calls totoMap(boolean)
with a value of true (meaning it is generating map of setting for generating JSON).void
enabledIfAnyChecked(java.lang.String dependentControlIdentifier, java.lang.String... targetCheckableIdentifiers)
Similar toenabledOnlyWhenChecked(String, String)
, this method registers event handlers on one or more checkable controls such that a given dependent control is only enabled when at least one of the specified target checkable controls are checked.void
enabledOnlyWhenAllChecked(java.lang.String dependentControlIdentifier, java.lang.String... targetCheckableIdentifiers)
Similar toenabledOnlyWhenChecked(String, String)
, this method registers event handlers on one or more checkable controls such that a given dependent control is only enabled when all of the specified target checkable controls are checked.void
enabledOnlyWhenChecked(java.lang.String dependentControlIdentifier, java.lang.String targetCheckableIdentifier)
Registers an event handle such that a given control is only enabled when another checkable control is checked.void
enabledOnlyWhenNoneChecked(java.lang.String dependentControlIdentifier, java.lang.String... targetCheckableIdentifiers)
Similar toenabledOnlyWhenChecked(String, String)
, this method registers event handlers on one or more checkable controls such that a given dependent control is only enabled when none of the specified target checkable controls are checked.void
enabledOnlyWhenNotChecked(java.lang.String dependentControlIdentifier, java.lang.String targetCheckableIdentifier)
Registers an event handle such that a given control is only enabled when another checkable control is not checked.int
getChoiceTableHeight()
java.awt.Component
getControl(java.lang.String identifier)
Allows you to get the actual Java Swing control.java.lang.String
getLabel()
Gets the label of this tab.java.lang.String
getText(java.lang.String identifier)
Gets the text present in a TextField or PasswordField.boolean
isChecked(java.lang.String identifier)
Gets whether a particular Checkbox or RadioButton is checked.protected javax.swing.JLabel
makeComponentLabel(java.lang.String text)
protected java.awt.GridBagConstraints
makeLabelConstraintsForNextRow()
void
setChecked(java.lang.String identifier, boolean isChecked)
Sets whether a particular Checkbox or RadioButton is checked.void
setChoiceTableHeight(int choiceTableHeight)
void
setDate(java.lang.String identifier, java.lang.Object value)
Sets the date contained in a date picker control previously added through a call toappendDatePicker(String, String)
orappendDatePicker(String, String, Object)
.void
setEnabled(boolean value)
void
setLabel(java.lang.String label)
Sets the label of this tab.void
setText(java.lang.String identifier, java.lang.String text)
Sets the text present in a TextField or PasswordField.java.lang.String
toJson()
Gets a JSON String equivalent of the dialog's values.java.util.Map<java.lang.String,java.lang.Object>
toMap()
Returns a Map of the control values.java.util.Map<java.lang.String,java.lang.Object>
toMap(boolean forJsonCreation)
Returns a Map of the control values.void
trackComponent(java.lang.String identifier, java.awt.Component component)
Registers control to be tracked which is important to ensuring that control values are able to be passed back to script and eligible for being saved to or loaded from JSON.void
whenDeserializing(java.lang.String identifier, ControlDeserializationHandler handler)
Allows you to specify code which customizes how a particular control's value is deserialized.void
whenSerializing(java.lang.String identifier, ControlSerializationHandler handler)
Allows you to specify code which customizes how a particular control's value is serialized.void
whenTextChanged(java.lang.String identifier, java.util.function.Consumer<java.lang.String> callback)
Registers a callback which is notified when a particular text control's value is modified.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
label
protected java.lang.String label
-
owner
protected TabbedCustomDialog owner
-
buttonGroups
protected java.util.Map<java.lang.String,javax.swing.ButtonGroup> buttonGroups
-
LABEL_COLUMN_WIDTH
protected int LABEL_COLUMN_WIDTH
-
CONTROL_COLUMN_WIDTH
protected int CONTROL_COLUMN_WIDTH
-
-
Constructor Detail
-
CustomTabPanel
protected CustomTabPanel()
-
CustomTabPanel
public CustomTabPanel(java.lang.String label, TabbedCustomDialog owner)
-
-
Method Detail
-
addBasicLabelledComponent
protected void addBasicLabelledComponent(java.lang.String label, java.awt.Component component)
-
addBasicLabelledComponent
protected void addBasicLabelledComponent(java.lang.String label, java.awt.Component component, boolean fillVertical)
-
makeLabelConstraintsForNextRow
protected java.awt.GridBagConstraints makeLabelConstraintsForNextRow()
-
makeComponentLabel
protected javax.swing.JLabel makeComponentLabel(java.lang.String text)
-
addBasicLabelledComponent
protected void addBasicLabelledComponent(java.lang.String label, java.awt.Component component, boolean fillVertical, boolean fillHorizontal)
-
addComponent
protected void addComponent(java.awt.Component component, int col)
-
addComponents
protected void addComponents(java.awt.Component leftComponent, java.awt.Component rightComponent)
-
addComponent
protected void addComponent(java.awt.Component component, int row, int col, int width, int height)
-
addComponent
protected void addComponent(java.awt.Component component, int row, int col, int width, int height, boolean fillVertical)
-
addComponent
protected void addComponent(java.awt.Component component, int row, int col, int width, int height, double weightx, double weighty)
-
addComponent
protected void addComponent(java.awt.Component component, java.awt.GridBagConstraints c)
-
trackComponent
public void trackComponent(java.lang.String identifier, java.awt.Component component) throws java.lang.Exception
Registers control to be tracked which is important to ensuring that control values are able to be passed back to script and eligible for being saved to or loaded from JSON.- Parameters:
identifier
- Unique identifier associated with this controlcomponent
- The actual control- Throws:
java.lang.Exception
- Thrown is something goes wrong
-
appendCheckBox
public CustomTabPanel appendCheckBox(java.lang.String identifier, java.lang.String controlLabel, boolean isChecked) throws java.lang.Exception
Appends a check box control to the tab. Calls togetControl(String)
should cast result to JCheckBox.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.isChecked
- Whether this is checked initially.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendCheckBoxes
public CustomTabPanel appendCheckBoxes(java.lang.String identifierA, java.lang.String controlLabelA, boolean isCheckedA, java.lang.String identifierB, java.lang.String controlLabelB, boolean isCheckedB) throws java.lang.Exception
Appends 2 check boxes, in a single row, to the tab.- Parameters:
identifierA
- The unique identifier for the first check box.controlLabelA
- The label for the first checkbox.isCheckedA
- Whether the first check box is checked by default.identifierB
- The unique identifier of the second check box.controlLabelB
- The label for the second checkbox.isCheckedB
- Whether the second check box is checked by default.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if a provided identifier has already been used.
-
appendRadioButton
public CustomTabPanel appendRadioButton(java.lang.String identifier, java.lang.String controlLabel, java.lang.String radioButtonGroupName, boolean isChecked) throws java.lang.Exception
Appends a radio button control to the dialog. Calls togetControl(String)
should cast result to JRadioButton.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.radioButtonGroupName
- The name of the radio button group to assign this to. The group determines what other radio buttons are unchecked when a given radio button is checked.isChecked
- Whether this is checked initially.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendRadioButtonLeft
public CustomTabPanel appendRadioButtonLeft(java.lang.String identifier, java.lang.String controlLabel, java.lang.String radioButtonGroupName, boolean isChecked) throws java.lang.Exception
- Throws:
java.lang.Exception
-
appendRadioButtonGroup
public CustomTabPanel appendRadioButtonGroup(java.lang.String groupLabel, java.lang.String radioButtonGroupName, java.util.Map<java.lang.String,java.lang.String> radioButtonChoices) throws java.lang.Exception
- Throws:
java.lang.Exception
-
appendHeader
public CustomTabPanel appendHeader(java.lang.String text)
Appends a header label that spans 2 columns.- Parameters:
text
- The text of the label.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
-
appendLabel
public CustomTabPanel appendLabel(java.lang.String identifier, java.lang.String text) throws java.lang.Exception
Appends a label that spans 2 columns.- Parameters:
identifier
- The unique identifier for this control.text
- The text of the label.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if this identifier has already been used
-
appendImage
public CustomTabPanel appendImage(java.io.File imageFile)
Appends an image to the tab- Parameters:
imageFile
- File object representing the image file on disk- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
-
appendImage
public CustomTabPanel appendImage(java.lang.String imageFile)
Appends an image to the tab- Parameters:
imageFile
- String representing path to the image file on disk- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
-
appendSeparator
public CustomTabPanel appendSeparator(java.lang.String label)
Appends a separator that spans 2 columns.- Parameters:
label
- Label text that will appear in the center of the separator.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
-
appendTextField
public CustomTabPanel appendTextField(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text) throws java.lang.Exception
Appends a text field control to the dialog. Calls togetControl(String)
should cast result to JTextField.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.text
- The initial text this text field should contain.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendCheckableTextField
public CustomTabPanel appendCheckableTextField(java.lang.String checkBoxId, boolean isChecked, java.lang.String textFieldId, java.lang.String textFieldDefault, java.lang.String controlLabel) throws java.lang.Exception
Appends a text field with an associated check box. Text field is enabled/disabled based on whether check box is checked.- Parameters:
checkBoxId
- The unique identifier of the check box.isChecked
- Whether the check box is checked by default.textFieldId
- The unique identifier of the text field.textFieldDefault
- The default text of the text field.controlLabel
- The label of the control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if a provided identifier has already been used.
-
appendButton
public CustomTabPanel appendButton(java.lang.String identifier, java.lang.String controlLabel, java.awt.event.ActionListener actionListener) throws java.lang.Exception
Appends a JButton control with the specified label and attaches the provided action listener to the button. From Ruby pass a block to add a handler to the button.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label text of the buttonactionListener
- The action listener to attach to the button.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendButtonRow
public ButtonRow appendButtonRow(java.lang.String identifier)
-
buildGenericSlider
protected CustomTabPanel buildGenericSlider(java.lang.String identifier, java.lang.String controlLabel, javax.swing.BoundedRangeModel model, java.util.function.Consumer<javax.swing.JLabel> displayAdapter) throws java.lang.Exception
Put together the UI for a Slider controlThis method doesn't know about the underlying data or its type. But given the name, label, the data model which does know this information, and a callback that can translate into a JLabel text, this method can construct the visual UI.
- Parameters:
identifier
- The unique identifier for this control, used to modify the control or get its result valuecontrolLabel
- String to display in the UI to label this controlmodel
- TheBoundedRangeModel
which controls and stores the value and its range limitsdisplayAdapter
- AConsumer
which can take a JLabel and display the model's current value in it. The consumer will need its own reference to the model, as it will not get the model from this callback.- Returns:
- this CustomTabPanel instance to allow method chaining
- Throws:
java.lang.Exception
- if the identifier has already been used
-
appendSlider
public CustomTabPanel appendSlider(java.lang.String identifier, java.lang.String controlLabel, double initialValue, double min, double max) throws java.lang.Exception
Creates a new slider control that lets the user specify a value within a range using doubles.A slider is best used for setting a value over a long, continuous range where precision may not be most important. For example, on a scale of 0 to 10,000 selecting 15 or 16 isn't all that important, but moving along the range of that length of scale would be.
This method uses doubles for storage, and allows the selection of numbers up to 5 decimal places deep. Behind the spinner is an instance of
DoubleBoundedRangeModel
which stores the range and value and can be used to update the field. This can be retrieved using:panel = panel.appendSlider(identifier, label, 0.0, 0.0, 1.0); JSlider slider = (JSlider)panel.getControl(identifier); DoubleBoundedRangeModel model = slider.getModel();
- Parameters:
identifier
- The unique identifier for this control, used to modify the control or get its result valuecontrolLabel
- String to display in the UI to label this controlinitialValue
- The initial position for slider and resulting valuemin
- The minimum assignable valuemax
- The maximum assignable value- Returns:
- this CustomTabPanel instance to allow method chaining
- Throws:
java.lang.Exception
- if the identifier has already been used
-
appendSlider
public CustomTabPanel appendSlider(java.lang.String identifier, java.lang.String controlLabel, double initialValue) throws java.lang.Exception
Creates a new slider control that lets the user specify a value within the range of 0.0 to 1.0.A slider is best used for setting a value over a long, continuous range where precision may not be most important. For example, on a scale of 0 to 10,000 selecting 15 or 16 isn't all that important, but moving along the range of that length of scale would be.
This method uses doubles for storage, and allows the selection of numbers from 0 to 1 with up to 5 decimal places precision. Behind the spinner is an instance of
DoubleBoundedRangeModel
which stores the range and value and can be used to update the field. This can be retrieved using:panel = panel.appendSlider(identifier, label, 0.0); JSlider slider = (JSlider)panel.getControl(identifier); DoubleBoundedRangeModel model = (DoubleBoundedRangeModel)slider.getModel();
- Parameters:
identifier
- The unique identifier for this control, used to modify the control or get its result valuecontrolLabel
- String to display in the UI to label this controlinitialValue
- The initial position for slider and resulting value- Returns:
- this CustomTabPanel instance to allow method chaining
- Throws:
java.lang.Exception
- if the identifier has already been used
-
appendSlider
public CustomTabPanel appendSlider(java.lang.String identifier, java.lang.String controlLabel, int initialValue, int min, int max) throws java.lang.Exception
Creates a new slider control that lets the user specify a value within a range using integers.A slider is best used for setting a value over a long, continuous range where precision may not be most important. For example, on a scale of 0 to 10,000 selecting 15 or 16 isn't all that important, but moving along the range of that length of scale would be.
This method uses ints for storage Behind the spinner is an instance of
DefaultBoundedRangeModel
which stores the range and value and can be used to update the field. This can be retrieved using:panel = panel.appendSlider(identifier, label, 10, 0, 100); JSlider slider = (JSlider)panel.getControl(identifier); BoundedRangeModel model = slider.getModel();
- Parameters:
identifier
- The unique identifier for this control, used to modify the control or get its result valuecontrolLabel
- String to display in the UI to label this controlinitialValue
- The initial position for slider and resulting valuemin
- The minimum assignable valuemax
- The maximum assignable value- Returns:
- this CustomTabPanel instance to allow method chaining
- Throws:
java.lang.Exception
- if the identifier has already been used
-
appendSlider
public CustomTabPanel appendSlider(java.lang.String identifier, java.lang.String controlLabel, int initialValue) throws java.lang.Exception
Creates a new slider control that lets the user specify a value in the range 0 to 100.A slider is best used for setting a value over a long, continuous range where precision may not be most important. For example, on a scale of 0 to 10,000 selecting 15 or 16 isn't all that important, but moving along the range of that length of scale would be.
This method uses ints for storage Behind the spinner is an instance of
DefaultBoundedRangeModel
which stores the range and value and can be used to update the field. This can be retrieved using:panel = panel.appendSlider(identifier, label, 10); JSlider slider = (JSlider)panel.getControl(identifier); BoundedRangeModel model = slider.getModel();
- Parameters:
identifier
- The unique identifier for this control, used to modify the control or get its result valuecontrolLabel
- String to display in the UI to label this controlinitialValue
- The initial position for slider and resulting value- Returns:
- this CustomTabPanel instance to allow method chaining
- Throws:
java.lang.Exception
- if the identifier has already been used
-
appendSlider
public CustomTabPanel appendSlider(java.lang.String identifier, java.lang.String controlLabel) throws java.lang.Exception
Creates a new slider control that lets the user specify a value in the range 0 to 100 with an initial value of 50.A slider is best used for setting a value over a long, continuous range where precision may not be most important. For example, on a scale of 0 to 10,000 selecting 15 or 16 isn't all that important, but moving along the range of that length of scale would be.
This method uses ints for storage Behind the spinner is an instance of
DefaultBoundedRangeModel
which stores the range and value and can be used to update the field. This can be retrieved using:panel = panel.appendSlider(identifier, label); JSlider slider = (JSlider)panel.getControl(identifier); BoundedRangeModel model = slider.getModel();
- Parameters:
identifier
- The unique identifier for this control, used to modify the control or get its result valuecontrolLabel
- String to display in the UI to label this control- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- if the identifier has already been used
-
appendSpinner
public CustomTabPanel appendSpinner(java.lang.String identifier, java.lang.String controlLabel, int initialValue, int min, int max, int step) throws java.lang.Exception
Creates a up/down number picker control (known in Java as a Spinner).- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.initialValue
- Initial value for the control.min
- The minimum value for the control.max
- The maximum value for the control.step
- Determines the "step" value, which determines how much up/down buttons increment.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendSpinner
public CustomTabPanel appendSpinner(java.lang.String identifier, java.lang.String controlLabel, int initialValue, int min, int max) throws java.lang.Exception
Creates a up/down number picker control (known in Java as a Spinner). Uses a default step of 1.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.initialValue
- Initial value for the control.min
- The minimum value for the control.max
- The maximum value for the control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendSpinner
public CustomTabPanel appendSpinner(java.lang.String identifier, java.lang.String controlLabel, int initialValue) throws java.lang.Exception
Creates a up/down number picker control (known in Java as a Spinner). Uses a default step of 1, a minimum of 0 and a maximum of Integer.MAX_VALUE.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.initialValue
- Initial value for the control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendSpinner
public CustomTabPanel appendSpinner(java.lang.String identifier, java.lang.String controlLabel) throws java.lang.Exception
Creates a up/down number picker control (known in Java as a Spinner). Uses a default step of 1, a minimum of 0 , a maximum of Integer.MAX_VALUE and an initial value of 0.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendDatePicker
public CustomTabPanel appendDatePicker(java.lang.String identifier, java.lang.String controlLabel, java.lang.Object defaultDate) throws java.lang.Exception
Appends a date picker field control to the dialog- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.defaultDate
- The default date to display. Can be null for no default, a java.util.Date object or a String in the format "yyyymmdd".- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendDatePicker
public CustomTabPanel appendDatePicker(java.lang.String identifier, java.lang.String controlLabel) throws java.lang.Exception
Appends a date picker field control to the dialog with the default date being today's date.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendTextArea
public CustomTabPanel appendTextArea(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text) throws java.lang.Exception
Appends a text area control to the dialog. Calls togetControl(String)
should cast result to JTextArea.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.text
- The initial text this text area should contain.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendInformation
public CustomTabPanel appendInformation(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text) throws java.lang.Exception
Appends a read only text area control for you to place some user information. Calls togetControl(String)
should cast result to JTextArea.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.text
- The initial text this text area should contain.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendFormattedInformation
public CustomTabPanel appendFormattedInformation(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text) throws java.lang.Exception
Appends a read only text area control for you to place some user information similar toappendInformation(String, String, String)
. This method differs fromappendInformation(String, String, String)
in that the created text area will be assigned a monospaced font to preserve formatting of the provided text. Calls togetControl(String)
should cast result to JTextArea.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.text
- The initial text this text area should contain.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendLocalWorkerSettings
public CustomTabPanel appendLocalWorkerSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide worker settings, as passed toParallelProcessingConfigurable.setParallelProcessingSettings(Map)
.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendBatchExporterTraversalSettings
public CustomTabPanel appendBatchExporterTraversalSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide traversal settings, as passed toBatchExporter.setTraversalOptions(Map)
.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendBatchExporterNativeSettings
public CustomTabPanel appendBatchExporterNativeSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide native export settings, as passed toBatchExporter.addProduct(String, Map)
for the "native" product.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendBatchExporterTextSettings
public CustomTabPanel appendBatchExporterTextSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide text export settings, as passed toBatchExporter.addProduct(String, Map)
for the "text" product.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendBatchExporterPdfSettings
public CustomTabPanel appendBatchExporterPdfSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide PDF export settings, as passed toBatchExporter.addProduct(String, Map)
for the "pdf" product.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendBatchExporterLoadFileSettings
public CustomTabPanel appendBatchExporterLoadFileSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide loadfile export settings, as passed toBatchExporter.addLoadFile(String, Map)
.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendOcrSettings
public CustomTabPanel appendOcrSettings(java.lang.String identifier) throws java.lang.Exception
Appends a control with controls used to provide OCR settings, as passed toOcrProcessor
.- Parameters:
identifier
- The unique identifier of this control. Note values of nested controls will be returns as a Map under this identifier.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendPasswordField
public CustomTabPanel appendPasswordField(java.lang.String identifier, java.lang.String controlLabel, java.lang.String text) throws java.lang.Exception
Appends a password text field control to the dialog. Calls togetControl(String)
should cast result to JPasswordField.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.text
- The initial text this field should contain.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendChoiceTable
public <T> CustomTabPanel appendChoiceTable(java.lang.String identifier, java.lang.String controlLabel, java.util.List<Choice<T>> choices) throws java.lang.Exception
Appends a control which allows the user to select multiple choices. SeeappendStringChoiceTable(String, String, Collection)
for a simpler usage.- Type Parameters:
T
- The data type of the choice values. Allows any value to be supported as a choice value.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- The list ofChoice
objects to display.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendCsvTable
public CustomTabPanel appendCsvTable(java.lang.String identifier, java.util.List<java.lang.String> headers) throws java.lang.Exception
Appends a table control with the specified headers, which is capable of importing a CSV with the same headers.- Parameters:
identifier
- The unique identifier for this control.headers
- List of headers for the table. Also determines import CSV columns.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendCsvTable
public CustomTabPanel appendCsvTable(java.lang.String identifier, java.util.List<java.lang.String> headers, java.lang.String defaultImportDirectory) throws java.lang.Exception
Appends a table control with the specified headers, which is capable of importing a CSV with the same headers.- Parameters:
identifier
- The unique identifier for this control.headers
- List of headers for the table. Also determines import CSV columns.defaultImportDirectory
- Directory path that should be default directory opened when user clicks import.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendDynamicTable
public CustomTabPanel appendDynamicTable(java.lang.String identifier, java.lang.String controlLabel, java.util.List<java.lang.String> headers, java.util.List<java.lang.Object> records, DynamicTableValueCallback callback) throws java.lang.Exception
Appends a fairly flexible table control to the tab. Table control relies on provided callback to get column values and optionally write column value changes back to underlying row objects.# Define what the headers will be headers = [ "First", "Last", "Location", "Occupation", ] # Define the records which will be displayed, this can essentially look # like whatever you want as later the callback we define will be responsible # for getting/setting values for individual records records = [ {first: "Luke", last: "Skywalker", location: "Tatooine", occupation: "Moisture Farmer"}, {first: "Beru", last: "Lars", location: "Tatooine", occupation: "Moisture Farmer"}, {first: "Owen", last: "Lars", location: "Tatooine", occupation: "Moisture Farmer"}, {first: "Obi-wan", last: "Kenobi", location: "Tatooine", occupation: "Hermit"}, ] # Now we add the dynamic table, configuring headers, records and callback which will get/set cell values # Method signature # public CustomTabPanel appendDynamicTable(String identifier, String controlLabel, List<String> headers, # List<Object> records, DynamicTableValueCallback callback) # # Callback signature # interact(Object record, int i, boolean setValue, Object aValue) # main_tab.appendDynamicTable("characters_table","Characters",headers,records) do |record, column_index, setting_value, value| # record: The current record the table wants to interact with from the records array # column_index: The column index the table wants to interact with # setting_value: True if the table wishes to set a new value for this record/column index, false if reading the current value # value: If setting_value is true, the value the table wishes to store back on the item # Debugging messages show_debug = false if show_debug if setting_value puts "Setting column #{column_index} with value '#{value}' in object:\n#{record.inspect}" else puts "Getting column #{column_index} in object:\n#{record.inspect}" end end if setting_value # Logic for setting values case column_index when 0 # Example of modifying value before storing it record[:first] = value.capitalize when 1 record[:last] = value.capitalize when 2 record[:location] = value when 3 record[:occupation] = value end else # Logic for getting values case column_index when 0 next record[:first] when 1 next record[:last] when 2 next record[:location] when 3 next record[:occupation] end end end
- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.headers
- List of headers for this control.records
- A List of objects representing each row in the table. Can be any object provided callback is able to get values from.callback
- A callback which is responsible for reading and potentially writing values associated to each column in the table.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendStringChoiceTable
public CustomTabPanel appendStringChoiceTable(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices) throws java.lang.Exception
Appends a control which allows the user to select multiple choices. Calls togetControl(String)
should cast result to ChoiceTableControl<String>.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- The collection of String choices to display.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendComboBox
public CustomTabPanel appendComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices, java.lang.Runnable callback) throws java.lang.Exception
Appends a combo box control allowing a user to select one of many choices.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- A collection of strings which will be the available choicescallback
- Optional (may be null) callback which will be invoked when the combo box value changes- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendSearchableComboBox
public CustomTabPanel appendSearchableComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices) throws java.lang.Exception
Appends a combo box control allowing a user to select one of many choices and allows for filtering choices by typing in a value.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- A collection of strings which will be the available choices- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendComboBox
public CustomTabPanel appendComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.Collection<java.lang.String> choices) throws java.lang.Exception
Appends a combo box control allowing a user to select one of many choices.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- A collection of strings which will be the available choices- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendComboItemBox
public CustomTabPanel appendComboItemBox(java.lang.String identifier, java.lang.String controlLabel, java.util.List<ComboItem> choices, java.lang.Runnable callback) throws java.lang.Exception
Appends a combo box control which takes a list ofComboItem
instances, allowing you to have each entry represent a specific value while having a separate value as the labeled choice displayed in the combo box.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- A collection ofComboItem
objects to be used as the choices.callback
- Optional (may be null) callback which will be invoked when the combo box value changes.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendMultipleChoiceComboBox
public CustomTabPanel appendMultipleChoiceComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.List<java.lang.String> choices, java.util.List<java.lang.String> defaultCheckedChoices) throws java.lang.Exception
Appends a combo box which allows you to select multiple choices from its drop down list by checking them.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- A List of String choicesdefaultCheckedChoices
- A List of String choices to be checked initially- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendMultipleChoiceComboBox
public CustomTabPanel appendMultipleChoiceComboBox(java.lang.String identifier, java.lang.String controlLabel, java.util.List<java.lang.String> choices) throws java.lang.Exception
Appends a combo box which allows you to select multiple choices from its drop down list by checking them. Starts off with no choices initially checked.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.choices
- A List of String choices- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- May throw an exception if the provided identifier has already been used.
-
appendDirectoryChooser
public CustomTabPanel appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel) throws java.lang.Exception
Appends a control which allows a user to select a directory.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendDirectoryChooser
public CustomTabPanel appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String initialDirectory) throws java.lang.Exception
Appends a control which allows a user to select a directory.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.initialDirectory
- A string containing a directory path which will be the initially selected directory when selection dialog is shown.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendDirectoryChooser
public CustomTabPanel appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel, PathSelectedCallback callback) throws java.lang.Exception
Appends a control which allows a user to select a directory.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.callback
- Callback which will be invoked when user selects a file using the choose button- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendDirectoryChooser
public CustomTabPanel appendDirectoryChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String initialDirectory, PathSelectedCallback callback) throws java.lang.Exception
Appends a control which allows a user to select a directory.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.initialDirectory
- A string containing a directory path which will be the initially selected directory when selection dialog is shown.callback
- Callback which will be invoked when user selects a file using the choose button- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendOpenFileChooser
public CustomTabPanel appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension) throws java.lang.Exception
Appends a control which allows a user to select a file to open.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.fileTypeName
- The name portion of the file type filter.fileExtension
- The extension (without period) to filter the visible files on.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendOpenFileChooser
public CustomTabPanel appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, java.lang.String initialDirectory) throws java.lang.Exception
Appends a control which allows a user to select a file to open.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.fileTypeName
- The name portion of the file type filter.fileExtension
- The extension (without period) to filter the visible files on.initialDirectory
- A string containing a directory path which will be the initially selected directory when selection dialog is shown.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendOpenFileChooser
public CustomTabPanel appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, PathSelectedCallback callback) throws java.lang.Exception
Appends a control which allows a user to select a file to open.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.fileTypeName
- The name portion of the file type filter.fileExtension
- The extension (without period) to filter the visible files on.callback
- Callback which will be invoked when user selects a file using the choose button- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendOpenFileChooser
public CustomTabPanel appendOpenFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, java.lang.String initialDirectory, PathSelectedCallback callback) throws java.lang.Exception
Appends a control which allows a user to select a file to open.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.fileTypeName
- The name portion of the file type filter.fileExtension
- The extension (without period) to filter the visible files on.initialDirectory
- A string containing a directory path which will be the initially selected directory when selection dialog is shown.callback
- Callback which will be invoked when user selects a file using the choose button- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendSaveFileChooser
public CustomTabPanel appendSaveFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension) throws java.lang.Exception
Appends a control which allows a user to select a file to save.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.fileTypeName
- The name portion of the file type filter.fileExtension
- The extension (without period) to filter the visible files on.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendSaveFileChooser
public CustomTabPanel appendSaveFileChooser(java.lang.String identifier, java.lang.String controlLabel, java.lang.String fileTypeName, java.lang.String fileExtension, java.lang.String initialDirectory) throws java.lang.Exception
Appends a control which allows a user to select a file to save.- Parameters:
identifier
- The unique identifier for this control.controlLabel
- The label for this control.fileTypeName
- The name portion of the file type filter.fileExtension
- The extension (without period) to filter the visible files on.initialDirectory
- A string containing a directory path which will be the initially selected directory when selection dialog is shown.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendPathList
public CustomTabPanel appendPathList(java.lang.String identifier, java.util.List<java.lang.String> initialPaths) throws java.lang.Exception
Appends a list box allowing the user to specify multiple file and directory paths.- Parameters:
identifier
- The unique identifier for this control.initialPaths
- Initial values to populate the list with, can be null.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendPathList
public CustomTabPanel appendPathList(java.lang.String identifier) throws java.lang.Exception
Appends a list box allowing the user to specify multiple file and directory paths.- Parameters:
identifier
- The unique identifier for this control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendStringList
public CustomTabPanel appendStringList(java.lang.String identifier, java.util.List<java.lang.String> initialValues) throws java.lang.Exception
Appends a list box allowing the user to specify string values.- Parameters:
identifier
- The unique identifier for this control.initialValues
- Initial values to populate the list with, can be null.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendStringList
public CustomTabPanel appendStringList(java.lang.String identifier, java.util.List<java.lang.String> initialValues, boolean editable) throws java.lang.Exception
Appends a list box allowing the user to specify string values.- Parameters:
identifier
- The unique identifier for this control.initialValues
- Initial values to populate the list with, can be null.editable
- Whether the user is able to edit entries in the list.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendStringList
public CustomTabPanel appendStringList(java.lang.String identifier) throws java.lang.Exception
Appends a list box allowing the user to specify string values.- Parameters:
identifier
- The unique identifier for this control.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
appendStringList
public CustomTabPanel appendStringList(java.lang.String identifier, boolean editable) throws java.lang.Exception
Appends a list box allowing the user to specify string values.- Parameters:
identifier
- The unique identifier for this control.editable
- Whether the user is able to edit entries in the list.- Returns:
- Returns this CustomTabPanel instance to allow for method chaining.
- Throws:
java.lang.Exception
- Exception May throw an exception if the provided identifier has already been used.
-
enabledOnlyWhenChecked
public void enabledOnlyWhenChecked(java.lang.String dependentControlIdentifier, java.lang.String targetCheckableIdentifier) throws java.lang.Exception
Registers an event handle such that a given control is only enabled when another checkable control is checked.- Parameters:
dependentControlIdentifier
- The identifier of the already added control for which the enabled state depends on another checkable control.targetCheckableIdentifier
- The identifier of the already added checkable control which will determine the enabled state of the dependent control.- Throws:
java.lang.Exception
- This could be caused by various things such as invalid identifiers or the identifier provided in targetCheckableIdentifier does not point to a checkable control (CheckBox or RadioButton).
-
enabledOnlyWhenAllChecked
public void enabledOnlyWhenAllChecked(java.lang.String dependentControlIdentifier, java.lang.String... targetCheckableIdentifiers) throws java.lang.Exception
Similar toenabledOnlyWhenChecked(String, String)
, this method registers event handlers on one or more checkable controls such that a given dependent control is only enabled when all of the specified target checkable controls are checked.- Parameters:
dependentControlIdentifier
- The identifier of the already added control for which the enabled state depends on another checkable control.targetCheckableIdentifiers
- The identifier of the one or more already added checkable controls which will determine the enabled state of the dependent control.- Throws:
java.lang.Exception
- This could be caused by various things such as invalid identifiers or the identifier provided in targetCheckableIdentifier does not point to a checkable control (CheckBox or RadioButton).
-
enabledOnlyWhenNoneChecked
public void enabledOnlyWhenNoneChecked(java.lang.String dependentControlIdentifier, java.lang.String... targetCheckableIdentifiers) throws java.lang.Exception
Similar toenabledOnlyWhenChecked(String, String)
, this method registers event handlers on one or more checkable controls such that a given dependent control is only enabled when none of the specified target checkable controls are checked.- Parameters:
dependentControlIdentifier
- The identifier of the already added control for which the enabled state depends on another checkable control.targetCheckableIdentifiers
- The identifier of the one or more already added checkable controls which will determine the enabled state of the dependent control.- Throws:
java.lang.Exception
- This could be caused by various things such as invalid identifiers or the identifier provided in targetCheckableIdentifier does not point to a checkable control (CheckBox or RadioButton).
-
enabledIfAnyChecked
public void enabledIfAnyChecked(java.lang.String dependentControlIdentifier, java.lang.String... targetCheckableIdentifiers) throws java.lang.Exception
Similar toenabledOnlyWhenChecked(String, String)
, this method registers event handlers on one or more checkable controls such that a given dependent control is only enabled when at least one of the specified target checkable controls are checked.- Parameters:
dependentControlIdentifier
- The identifier of the already added control for which the enabled state depends on another checkable control.targetCheckableIdentifiers
- The identifier of the one or more already added checkable controls which will determine the enabled state of the dependent control.- Throws:
java.lang.Exception
- This could be caused by various things such as invalid identifiers or the identifier provided in targetCheckableIdentifier does not point to a checkable control (CheckBox or RadioButton).
-
enabledOnlyWhenNotChecked
public void enabledOnlyWhenNotChecked(java.lang.String dependentControlIdentifier, java.lang.String targetCheckableIdentifier) throws java.lang.Exception
Registers an event handle such that a given control is only enabled when another checkable control is not checked.- Parameters:
dependentControlIdentifier
- The identifier of the already added control for which the enabled state depends on another checkable control.targetCheckableIdentifier
- The identifier of the already added checkable control which will determine the enabled state of the dependent control.- Throws:
java.lang.Exception
- This could be caused by various things such as invalid identifiers or the identifier provided in targetCheckableIdentifier does not point to a checkable control (CheckBox or RadioButton).
-
isChecked
public boolean isChecked(java.lang.String identifier) throws java.lang.Exception
Gets whether a particular Checkbox or RadioButton is checked.- Parameters:
identifier
- The unique identifier assigned to the control when it was appended to this dialog.- Returns:
- True if the control is checked, false otherwise.
- Throws:
java.lang.Exception
- Thrown if identifier is invalid or identifier does not refer to a Checkbox or RadioButton.
-
setChecked
public void setChecked(java.lang.String identifier, boolean isChecked) throws java.lang.Exception
Sets whether a particular Checkbox or RadioButton is checked.- Parameters:
identifier
- The unique identifier assigned to the control when it was appended to this dialog.isChecked
- True to check the control, false to uncheck the control.- Throws:
java.lang.Exception
- Thrown if identifier is invalid or identifier does not refer to a Checkbox or RadioButton.
-
getText
public java.lang.String getText(java.lang.String identifier) throws java.lang.Exception
Gets the text present in a TextField or PasswordField.- Parameters:
identifier
- The unique identifier assigned to the control when it was appended to this dialog.- Returns:
- The text present in the control.
- Throws:
java.lang.Exception
- Thrown if identifier is invalid or identifier does not refer to a TextField or PasswordField.
-
setText
public void setText(java.lang.String identifier, java.lang.String text) throws java.lang.Exception
Sets the text present in a TextField or PasswordField.- Parameters:
identifier
- The unique identifier assigned to the control when it was appended to this dialog.text
- The text value to set.- Throws:
java.lang.Exception
- Thrown if identifier is invalid or identifier does not refer to a TextField or PasswordField.
-
setDate
public void setDate(java.lang.String identifier, java.lang.Object value) throws java.lang.Exception
Sets the date contained in a date picker control previously added through a call toappendDatePicker(String, String)
orappendDatePicker(String, String, Object)
.- Parameters:
identifier
- The unique identifier of the previously added date picker control.value
- The value to set the date picker to. Accepts values ofDate
,DateTime
or a date String formatted "yyyyMMdd".- Throws:
java.lang.Exception
- May be thrown if identifier does not point to a valid/existing control or date format string is invalid.
-
getControl
public java.awt.Component getControl(java.lang.String identifier)
Allows you to get the actual Java Swing control. You will likely need to cast it to the appropriate type before use.- Parameters:
identifier
- The unique identifier assigned to the control when it was appended to this dialog.- Returns:
- The control as base class Component. See documentation for various append methods for control types.
-
toMap
public java.util.Map<java.lang.String,java.lang.Object> toMap()
Returns a Map of the control values.- Returns:
- Map where the assigned identifier is the key and the control's value is the value.
-
toMap
public java.util.Map<java.lang.String,java.lang.Object> toMap(boolean forJsonCreation)
Returns a Map of the control values.- Parameters:
forJsonCreation
- Set to true if the output is intended to be serialized to JSON. Some of the values in the map may be generated differently to better cooperate with what JSON is capable of storing.- Returns:
- Map where the assigned identifier is the key and the control's value is the value.
-
toJson
public java.lang.String toJson()
Gets a JSON String equivalent of the dialog's values. This is a convenience method for callingtoMap()
and then converting that Map to a JSON string.- Returns:
- A JSON string representation of the dialogs values (based on the Map returned by
toMap()
).
-
getChoiceTableHeight
public int getChoiceTableHeight()
- Returns:
- The height of choice table controls
-
setChoiceTableHeight
public void setChoiceTableHeight(int choiceTableHeight)
- Parameters:
choiceTableHeight
- The choiceTableHeight to set
-
getLabel
public java.lang.String getLabel()
Gets the label of this tab.- Returns:
- The label of this tab.
-
setLabel
public void setLabel(java.lang.String label)
Sets the label of this tab.- Parameters:
label
- The label to set.
-
whenSerializing
public void whenSerializing(java.lang.String identifier, ControlSerializationHandler handler)
Allows you to specify code which customizes how a particular control's value is serialized.- Parameters:
identifier
- The unique identifier of the control to which you are providing custom serialization logic for.handler
- Provides logic regarding how to serialize the control's value.
-
whenDeserializing
public void whenDeserializing(java.lang.String identifier, ControlDeserializationHandler handler)
Allows you to specify code which customizes how a particular control's value is deserialized.- Parameters:
identifier
- The unique identifier of the control to which you are providing custom deserialization logic for.handler
- Provides logic regarding how to deserialize the control's value.
-
setEnabled
public void setEnabled(boolean value)
- Overrides:
setEnabled
in classjavax.swing.JComponent
-
doNotSerialize
public void doNotSerialize(java.lang.String identifier)
Allows you to specify that a particular control's value should not be serialized in calls totoMap(boolean)
with a value of true (meaning it is generating map of setting for generating JSON).- Parameters:
identifier
- The unique identified of the control to be skipped.
-
whenTextChanged
public void whenTextChanged(java.lang.String identifier, java.util.function.Consumer<java.lang.String> callback) throws java.lang.Exception
Registers a callback which is notified when a particular text control's value is modified.- Parameters:
identifier
- The unique of identifier of the text control to monitor.callback
- Callback invoked when the text control's value is modified.- Throws:
java.lang.Exception
- May be thrown if identifier does not refer to a supported/existing control.
-
-