loci.plugins.config

## Class ConfigWindow

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Frame
        - - javax.swing.JFrame
          - - loci.plugins.config.ConfigWindow

- All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

      public class ConfigWindow
      extends javax.swing.JFrame
      implements java.awt.event.ActionListener, java.awt.event.ItemListener, javax.swing.event.ListSelectionListener, java.lang.Runnable

  A window for managing configuration of the Bio-Formats plugins.
  Author:
    Curtis Rueden ctrueden at wisc.edu
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JFrame

      `javax.swing.JFrame.AccessibleJFrame`

    - ### Nested classes/interfaces inherited from class java.awt.Frame

      `java.awt.Frame.AccessibleAWTFrame`

    - ### Nested classes/interfaces inherited from class java.awt.Window

      `java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private javax.swing.JCheckBox` | `enabledBox`
    `private javax.swing.JTextField` | `extensions`
    `private javax.swing.JPanel` | `formatInfo`
    `private javax.swing.JList` | `formatsList`
    `private javax.swing.DefaultListModel` | `formatsListModel`
    `private javax.swing.JButton` | `installButton`
    `private javax.swing.JList` | `libsList`
    `private javax.swing.DefaultListModel` | `libsListModel`
    `private javax.swing.JTextField` | `license`
    `private java.io.PrintWriter` | `log`
    `private javax.swing.JTextArea` | `notes`
    `private static int` | `PAD`
    `private static java.lang.Class<?>[]` | `PARAMS`
    `private javax.swing.JTextField` | `path`
    `private javax.swing.JButton` | `resetSliceLabelButton`
    `private javax.swing.JButton` | `setSliceLabelButton`
    `private javax.swing.JTextField` | `sliceLabel`
    `private javax.swing.JTextField` | `status`
    `private javax.swing.JTextField` | `type`
    `private static java.lang.String` | `UPGRADE_CHECK_KEY`
    `private javax.swing.JCheckBox` | `upgradeBox`
    `private javax.swing.JTextField` | `url`
    `private javax.swing.JTextField` | `version`
    `private javax.swing.JCheckBox` | `windowlessBox`

    - ### Fields inherited from class javax.swing.JFrame

      `accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class java.awt.Frame

      `CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConfigWindow()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `actionPerformed(java.awt.event.ActionEvent e)`
    `static void` | `addEntry(java.lang.Comparable<java.lang.Object> c, javax.swing.DefaultListModel listModel)`
    `private void` | `addProp(java.util.HashMap<java.lang.String,java.lang.String> props, java.lang.String key, java.lang.String value, java.util.HashMap<java.lang.String,java.lang.String> versions)`
    `private void` | `doFormatLayout(FormatEntry entry)`
    `private java.lang.Object` | `invokeMethod(java.lang.String fieldName, java.lang.String methodName, FormatEntry entry, boolean value)`
    `private boolean` | `isReaderEnabled(FormatEntry entry)`
    `private boolean` | `isReaderPref(java.lang.String pref, FormatEntry entry, boolean defaultValue)`
    `private boolean` | `isReaderWindowless(FormatEntry entry)`
    `void` | `itemStateChanged(java.awt.event.ItemEvent e)`
    `private javax.swing.JLabel` | `makeLabel(java.lang.String text, boolean top)`
    `private javax.swing.JList` | `makeList(javax.swing.DefaultListModel listModel)`
    `private javax.swing.JSplitPane` | `makeSplitPane(javax.swing.JList list, javax.swing.JPanel info)`
    `static javax.swing.JTextField` | `makeTextField()`
    `void` | `run()` Populate configuration information in a separate thread.
    `private void` | `setReaderEnabled(FormatEntry entry, boolean value)`
    `private void` | `setReaderPref(java.lang.String pref, FormatEntry entry, boolean value)`
    `private void` | `setReaderWindowless(FormatEntry entry, boolean value)`
    `void` | `valueChanged(javax.swing.event.ListSelectionEvent e)`

    - ### Methods inherited from class javax.swing.JFrame

      `addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

    - ### Methods inherited from class java.awt.Frame

      `addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

    - ### Methods inherited from class java.awt.Window

      `addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

    - ### Methods inherited from interface java.awt.MenuContainer

      `getFont, postEvent`

- - ### Field Detail

    - #### PAD

          private static final int PAD

      See Also:
        Constant Field Values

    - #### UPGRADE_CHECK_KEY

          private static final java.lang.String UPGRADE_CHECK_KEY

      See Also:
        Constant Field Values

    - #### formatsListModel

          private javax.swing.DefaultListModel formatsListModel

    - #### formatsList

          private javax.swing.JList formatsList

    - #### formatInfo

          private javax.swing.JPanel formatInfo

    - #### extensions

          private javax.swing.JTextField extensions

    - #### sliceLabel

          private javax.swing.JTextField sliceLabel

    - #### enabledBox

          private javax.swing.JCheckBox enabledBox

    - #### windowlessBox

          private javax.swing.JCheckBox windowlessBox

    - #### upgradeBox

          private javax.swing.JCheckBox upgradeBox

    - #### libsListModel

          private javax.swing.DefaultListModel libsListModel

    - #### libsList

          private javax.swing.JList libsList

    - #### type

          private javax.swing.JTextField type

    - #### status

          private javax.swing.JTextField status

    - #### version

          private javax.swing.JTextField version

    - #### path

          private javax.swing.JTextField path

    - #### url

          private javax.swing.JTextField url

    - #### license

          private javax.swing.JTextField license

    - #### notes

          private javax.swing.JTextArea notes

    - #### installButton

          private javax.swing.JButton installButton

    - #### setSliceLabelButton

          private javax.swing.JButton setSliceLabelButton

    - #### resetSliceLabelButton

          private javax.swing.JButton resetSliceLabelButton

    - #### log

          private java.io.PrintWriter log

    - #### PARAMS

          private static final java.lang.Class<?>[] PARAMS

  - ### Constructor Detail

    - #### ConfigWindow

          public ConfigWindow()

  - ### Method Detail

    - #### actionPerformed

          public void actionPerformed(java.awt.event.ActionEvent e)

      Specified by:
        `actionPerformed` in interface `java.awt.event.ActionListener`

    - #### itemStateChanged

          public void itemStateChanged(java.awt.event.ItemEvent e)

      Specified by:
        `itemStateChanged` in interface `java.awt.event.ItemListener`

    - #### valueChanged

          public void valueChanged(javax.swing.event.ListSelectionEvent e)

      Specified by:
        `valueChanged` in interface `javax.swing.event.ListSelectionListener`

    - #### run

          public void run()

      Populate configuration information in a separate thread.
      Specified by:
        `run` in interface `java.lang.Runnable`

    - #### makeTextField

          public static javax.swing.JTextField makeTextField()

    - #### addEntry

          public static void addEntry(java.lang.Comparable<java.lang.Object> c,
                                      javax.swing.DefaultListModel listModel)

    - #### addProp

          private void addProp(java.util.HashMap<java.lang.String,java.lang.String> props,
                               java.lang.String key,
                               java.lang.String value,
                               java.util.HashMap<java.lang.String,java.lang.String> versions)

    - #### makeLabel

          private javax.swing.JLabel makeLabel(java.lang.String text,
                                               boolean top)

    - #### makeList

          private javax.swing.JList makeList(javax.swing.DefaultListModel listModel)

    - #### makeSplitPane

          private javax.swing.JSplitPane makeSplitPane(javax.swing.JList list,
                                                       javax.swing.JPanel info)

    - #### doFormatLayout

          private void doFormatLayout(FormatEntry entry)

    - #### isReaderEnabled

          private boolean isReaderEnabled(FormatEntry entry)

    - #### setReaderEnabled

          private void setReaderEnabled(FormatEntry entry,
                                        boolean value)

    - #### isReaderWindowless

          private boolean isReaderWindowless(FormatEntry entry)

    - #### setReaderWindowless

          private void setReaderWindowless(FormatEntry entry,
                                           boolean value)

    - #### isReaderPref

          private boolean isReaderPref(java.lang.String pref,
                                       FormatEntry entry,
                                       boolean defaultValue)

    - #### setReaderPref

          private void setReaderPref(java.lang.String pref,
                                     FormatEntry entry,
                                     boolean value)

    - #### invokeMethod

          private java.lang.Object invokeMethod(java.lang.String fieldName,
                                                java.lang.String methodName,
                                                FormatEntry entry,
                                                boolean value)
                                         throws java.lang.ClassNotFoundException,
                                                java.lang.NoSuchFieldException,
                                                java.lang.IllegalAccessException,
                                                java.lang.NoSuchMethodException,
                                                java.lang.reflect.InvocationTargetException

      Throws:
        `java.lang.ClassNotFoundException`
        `java.lang.NoSuchFieldException`
        `java.lang.IllegalAccessException`
        `java.lang.NoSuchMethodException`
        `java.lang.reflect.InvocationTargetException`

Copyright © 2026 Open Microscopy Environment