All Classes and Interfaces

Class
Description
 
Provides a reusable and consistent AboutDialog that can be used in any application.
Populate an instance of this class and then hand it to AboutDialog or AboutPanel to very quickly and easily create an "about this app" type of display for the user.
Used to determine how to display the application logo image on the AboutPanel.
A re-usable JPanel that can display information about a given application.
A generic abstract base class for property fields, to be used with PropertiesManager.
Represents options for how actions are displayed in an ActionPanel.
A custom panel that can show groups of related actions, either as clickable JLabels or as JButtons.
To show off the new ActionPanel component.
An abstract base class for the various Options classes used by ActionPanel.
A PropertiesDialog implementation that uses an ActionPanel on the left to show the categories and subcategories, and a CardLayout on the right to show the corresponding FormPanel for the selected category/subcategory.
A demo panel for showing off some "advanced", or less-commonly-used, FormField implementations.
Useful for FormPanel alignment, to decide how to lay out controls within a FormPanel.
Animates a text display, such that a given text string will be slowly "printed" out character by character with configurable styling and with a configurable speed.
Helper class to store cursor position
Controls the total duration of an animation.
This demo panel shows off some of the fun "panel effects" that are available in swing-extras as of the 2.7 release: Panel fade - animate a "fade in" and "fade out" effect. Panel blur - blur the contents of a panel. Falling snow - animate falling snowflakes over a panel.
A demo panel to show off the ImageScroller class.
Controls the speed of animation frames, in terms of the delay between frames.
 
Provides a generic starting point for application extensions.
Allows an extension to provide some basic metadata about itself.
 
This class encapsulates a PropertiesManager and an ExtensionManager together into one handy utility that client projects can use more easily than the old approach of having the client projects maintain these things separately.
Provides a way to test out the AudioUtils, and more specifically, the AudioWaveformPanel.
Provides a way to listen for events on an AudioWaveformPanel.
A utility class that can be used to interact with audio files.
Presents a JPanel that encapsulates an audio clip, and can visually present a graphical waveform of that clip, along with controls for playback and editing.
 
 
 
 
This panel queries a remote UpdateSource for a list of compatible extensions with this application, then allows them to be downloaded, installed, or updated.
 
Builds a FormPanel that contains examples of "basic" FormFields.
A custom LayerUI that can apply a blur effect to a JPanel and display an optional text message over it.
Blur intensity presets controlling the blur kernel size.
Represents a property that can either be on or off.
Encapsulates all border-related options for an ActionPanel.
Represents a FormField that can contain one or more buttons with configurable actions.
Wraps a ButtonField, and allows you to add buttons to a FormPanel dynamically.
An action that flips to a specific card in a CardLayout when triggered.
A FormField to wrap a JCheckBox.
Deprecated, for removal: This API element is subject to removal in a future version.
This class is deprecated and will be removed in a future release.
Similar to PanelField, except this class gives you an "expand/contract" icon that allows the panel contents to be displayed or hidden.
 
This property wraps an empty CollapsiblePanelField and allows you to add subfields dynamically to it when the property's FormField is created.
A FormField implementation for selecting a solid color.
A class that encapsulates all color-related options for ActionPanel.
Represents a property that can either be a solid colour, a gradient, or both.
For any class that offers the ability to select either a solid color, or a color gradient, or either option.
Provides a few built-in color themes that you can use to quickly change the look of your ActionPanel.
A FormField wrapping a JComboBox.
Represents a single-select chooser field that allows selection from a list of items.
A demo panel to show a custom FormField implementation - FontField.
A customized JDesktopPane that allows setting a customized background instead of the default one provided by Java.
Provides a way to choose where the logo image should be displayed, if at all.
Represents a property that can store some floating point value.
A built-in demo application which shows off the features and components contained in this library.
Entry point for the DemoApp.
A demo panel for the CustomizableDesktopPane, showing off color gradient backgrounds and optional placement of a logo image on the desktop background.
Represents a field that contains a directory name.
A component that renders directories in the file system as a navigable tree view.
An adapter class for DirTreeListener with empty method implementations.
A demo panel for the DirTree component, to show off some of its capabilities.
Provides a way to listen for events from a DirTree instance.
Represents a single node (directory or file) within our DirTree.
Deprecated, for removal: This API element is subject to removal in a future version.
This class hasn't been used in ages, and LookAndFeelManager makes it unnecessary.
Represents a dynamic right click menu for DirTree.
An empty implementation of DownloadListener that you can extend if you only care about implementing one or two methods instead of all of them.
Used internally when retrieving a remote extension to store all associated files together into one object: the jar file, the optional signature file, and the optional list of screenshots.
Can be used with DownloadManager to listen for progress, completion, or error updates from downloads in progress.
Manages file downloads via http and reports on their progress, completion status, or error status.
Manages a single download with progress notifications - you generally shouldn't need to interact with this class directly; instances of this class are created and managed automatically by the DownloadManager.
Extends the AbstractAction class to provide convenient wrappers around setting the name, icon, short description, and accelerator.
Represents a multi-choice property, very similar to a ComboProperty, except that the options come from a supplied enum instead of a List of String values.
Encapsulates all expand/collapse related options for an ActionPanel, including animation options.
 
Displays details about an extension using a supplied AppExtensionInfo instance.
A generic action that can be hooked onto any hyperlinked LabelField to open the given url in the user's default browser.
A SimpleProgressWorker implementation that can download the given Extension and return it as a DownloadedExtension instance if the download succeeds.
 
Shows a list of StartupErrors reported by ExtensionManager.
Provides a mechanism for scanning for and loading instances of AppExtension for any given application.
Tracks any jar file that failed to load when ExtensionManager started up.
Provides a standardized way of viewing and enabling extensions across applications.
A demo panel to show off ONLY SOME of what ExtensionManager can do.
To be used in ExtensionManagerDialog - this class represents the title panel for an Extension, showing the Extension's title, along with optional controls for enabling/disabling, or installing/uninstalling/updating.
This is a LayerUI implementation that can be used to "fade" a JPanel in and out by overlaying a colored translucent layer that animates its opacity.
Provides an interface for performing validation on some type of FormField.
Extends the Properties class to provide for saving and loading of properties to and from a flat file on disk.
A FormField for choosing a single directory or file.
An example accessory component that can be supplied to the setAccessory method.
Currently supported selection modes for this field.
A validator for use with FileField to ensure that the selected File is in a location that can be written.
A FieldValidator that ensures that the chosen Directory can be read.
Similar to NonBlankFieldValidator for TextFields, this FieldValidator implementation insists that a FileField cannot contain a blank value.
A FieldValidator that ensures that the chosen File can be written.
A FieldValidator that ensures that the chosen File or Directory exists.
 
The opposite of FileMustExistValidator, this one ensures that the selected file or directory does not already exist (such as for a save dialog).
A simple Comparator implementation that compares File objects by comparing their absolute paths.
Deprecated.
Use FileNameComparator
Represents a property field to allow selection of a file.
A simple interface to be notified of progress during file searches.
Provides a number of handy static utility methods for working with files and directories.
Represents a dialog that can be shown to the user to allow selection of a font with style properties and optional foreground/background color selection.
A FormField implementation that provides the ability to select a Font, with optional abilities to select font size, font color, and font background color.
Represents a property field that allows storing a Font, along with associated style and optional color attributes.
Builds a FormPanel that gives some examples of attaching a custom Action to FormFields to do certain things when their value changes.
FormField is an abstract base class which allows for the creation of a form field that wraps one or more Java Swing UI components.
Can be used with AbstractProperty and its implementing classes to listen for FormField generation.
This demo panel shows how to add helpful informational messages to FormFields.
FormPanel wraps a collection of FormFields and manages the following functions: Layout management - you don't need to write manual GridBagLayout code to use a FormPanel.
Builds a very simple FormPanel with some introductory text.
Some FormFields support custom cell renderers, which can allow you to highly customize those fields - this demo panel shows an example of this in action.
Builds a FormPanel that shows how to add custom FieldValidators to make form validation very easy to implement.
 
Combines a JColorChooser with a GradientConfigDialog to allow you to select either a solid color or a gradient.
 
Contains the available types of gradients.
Contains some static utility methods for dealing with drawing gradients into images.
Can be used to listen for when an ActionGroup is removed from an ActionPanel.
Can be used to listen for when an ActionGroup is renamed within an ActionPanel.
Can be used to listen for when the items in an ActionGroup are reordered.
A simple wrapper class to simplify hashing functionality a little.
 
The HtmlLabelField can be used to convert part of a label into a hyperlink, or which can be used to embed multiple separate hyperlinks within the same label.
Represents an html label, which can have multiple hyperlinks with custom actions.
Utility class for hyperlink launching in JREs that support it.
If the current JRE supports browsing, this action will open the given URI in the user's default browser.
Smoothly animates an image from a source location to a destination location, with optional acceleration and deceleration parameters on either end of the image movement.
 
A FormField implementation that allows the user to select one or more images, and display them in a scrollable form field.
A scrollable panel that can show a list of images, each represented by a thumbnail and an optional label to describe the image.
A custom JPanel extension that can display an image in configurable ways, with optional handling of mouse events to allow zooming and scrolling.
Represents configuration options for ImagePanel.
 
 
Provides a FormField implementation for viewing/editing config options for ImagePanels.
Displays an oversized image and slowly scrolls it either horizontally back-and-forth (for landscape images) or vertically up-and-down (for portrait images).
Determines the extent to which we slow down as we approach a scroll limit, and also how quickly we speed up as we move away from a scroll limit.
Determines pixels per frame of animation movement.
Contains utility method for drawing stylized text onto a BufferedImage.
 
A quick demo panel to show off the capabilities of ImageTextUtil.
Contains generic methods for dealing with images and image data.
A FileFilter implementation that can be used with file choosers to limit the selection to acceptable image files.
ImageUtil is a utility class that offers a lot of handy functionality around loading, saving, and manipulating images.
This panel shows a list of all installed extensions, and allows the user to enable/disable them, or uninstall them if desired.
Used internally to represent an extension, either installed or uninstalled, either enabled or disabled.
Represents a property that can store some integer value.
Builds a very simple FormPanel with some introductory text.
A very simple interface that allows convenient use of lambda expressions for key actions.
A custom FormField implementation that allows editing of a single KeyStroke assignment.
This class allows very easy registration of keyboard shortcuts for a given Window.
This demo panel shows off the KeyStrokeManager class, which makes it easy to register and manage keyboard shortcut handlers for any window.
A property implementation for storing KeyStroke values.
Represents a form field that just presents a static label without any user interaction.
An extremely simple property which represents a static label.
A field validator that works with both ListField and ListSubsetField to ensure that at least one item is selected.
Wraps a JList to allow for multi-selection of some object type.
 
A demo panel to show off the List and Panel related FormFields.
Adding a list item is one of the actions that we can't supply out-of-the-box, because we don't know what type of data the list holds or what the list represents.
Shows a quick help popup for the list item action buttons, which may not be self-explanatory to new users.
An EnhancedAction that can be used with any ListField to clear all items from the list.
An EnhancedAction that can be used with any ListField to move the selected items up or down in the list.
Specifies the direction in which list items will be moved when this action is executed.
An EnhancedAction that can be used with any ListField to remove the selected items from the list.
An EnhancedAction that can be used with any ListField to select all items in the list.
A simple Validator that can be attached to a ListField to ensure that the list is not empty.
Presents a vertical JList of items, with an optional header label above the list, and an optional list of command buttons under the list.
Wraps a ListField to allow for a multi-select property.
Represents a FormField that allows selection of a subset from a list.
Represents an AbstractProperty wrapper around the ListSubset form field.
A singleton LogConsole window that works with LogConsoleHandler to display log messages within an application (viewable via the AboutPanel or by showing it programmatically).
A logging handler implementation specifically to support the LogConsole within applications that use sc-util.
Can be used to listen for theme or style changes in a LogConsole.
A demo panel to show off the LogConsole and the LogConsoleStyle/LogConsoleTheme customizations that you can do to it.
Represents configuration options for a specific LogConsole message style.
A LogConsoleTheme represents a set of LogConsoleStyle objects that can be applied within the LogConsole.
A compound (multi-component) FormField for grouping all of the fields required to configure a LogoGenerator request.
Utility class to generate small, text-based images that can serve as a very quick logo type of thing.
Represents a configuration preset for logo images, to be used with LogoGenerator.
 
A FormField implementation specifically for long (multi-line) text input.
 
Represents a property that can store a long text (multi-line) value.
This is a simple wrapper class to manage the various look and feels that spring-extras supports.
 
Can be used to specify margins and padding around and inside a FormField, or any other component that supports this Margins class.
A very simple interface that can be used to listen for changes to a Margins instance.
A FormField implementation for viewing or editing a Margins instance.
An AbstractProperty to wrap a Margins instance.
Simple utility class to show messages to the user via JOptionPane while also simultaneously logging them.
An empty adapter class for MultiProgressListener.
Replacement for Java's ProgressMonitor class, which is a bit limiting.
Long progress messages are truncated at a fixed length to avoid rendering problems with very large JLabels on the dialog.
Serves as a progress listener for some work task that involves multiple major steps, each with some variable number of minor work steps.
Represents some generic worker thread that performs a complex task (major steps and minor steps), and can be subscribed to for major and minor progress events.
A simple field validator for text fields that ensures that the field does not have a blank value.
A FormField that wraps a JSpinner to allow numeric input.
Used by our various options classes to notify listeners that an option has changed and that the UI should be updated.
Provides an easy abstract way to create new demo panels and load them into the DemoApp.
A FormField that wraps and exposes a JPanel, into which callers can render whatever extra custom components they want to display inline with the form.
This property wraps an empty PanelField and allows you to add subfields dynamically to it when the property's FormField is created.
A FormField for password input.
A property to represent a password, which should by default be hidden in the UI.
Provides a way to listen for events from a PlaybackThread.
Provides a worker thread that can be used to play audio clips.
 
A dialog that can be used to view or edit text in a resizable window.
A quick demo of the capabilities of the progress classes.
Provides a wrapper around java's Properties class, with convenience methods that abstract away the type conversions that callers would otherwise have to worry about.
Demo panel to show off PropertiesManager and PropertiesDialog capabilities.
An example enum to show off EnumProperty.
PropertiesDialog can display and allow editing of a list of AbstractProperty instances.
Provides a highly configurable wrapper around a set of related properties, along with ways to manage them and present them to the user for viewing and modification.
Can be used for sorting of AbstractProperty instances by their fully qualified names.
Can be used with AbstractProperty and all of its implementations to listen for live changes on the FormField that was created by and is managed by that property.
Used by PropertyFormFieldChangeListener to indicate that a change has been made in a FormField that was created and is managed by some AbstractProperty instance.
Provides an interface for listening for recording events.
Provides a worker thread that can be used to capture audio and record it.
Sometimes you want mouse events that arrive on a child component to bubble up to the containing component to be processed there.
A generic utility class for managing access to resources packaged within a jar file.
Contains static convenience methods related to scroll panes.
A FormField implementation specifically for short (single-line) text input.
 
Implementations of this interface can be optionally supplied to UpdateManager to be invoked before the application is restarted.
This utility class provides convenient wrappers for creating public/private key pairs, using a private key to sign a file, and using a public key to verify a file signature.
Simple adapter class for SimpleProgressListener.
Serves as a progress listener for some generic work task.
Represents some generic worker thread that performs a simple task, and can be subscribed to for progress events.
Allows an application to enforce a single running instance.
Invoked when startup arguments are received from a new instance.
Wraps a JSlider and provides options for configuring it.
 
Can be extended to show a read-only code snippet in a popup window.
A custom LayerUI that can apply a fun "falling snow" effect to a JPanel by drawing little animated snowflakes over it.
Controls the likelihood of a new snowflake appearing each frame.
Controls the "wind", or the amount of horizontal drift of the snowflakes and their direction.
Normally the SplashScreen that comes with AWT is good enough for an application.
Provides static utility methods for tracking how long operations take, for logging and diagnostic purposes.
A utility class for taking a formatString and performing a configurable mapping using a provided mapper function.
A very simple functional interface for mapping format tags to replacement strings.
Centralizes and manages access to the various resource images that are used in swing-forms.
A PropertiesDialog implementation that generates the "classic" properties dialog, with a separate tab for each major category of properties, and header labels used to separate the subcategories.
This utility class can be used to quickly "guess" if a file is likely a text file based on the presence of non-printable characters in a sample of its content.
Builder for configurable text file detection.
Provides an easy way to get text input from the user, very similar to JOptionPane's showInputDialog method, but with optional configurable validation on the allowed input.
 
A demo panel for showing off the new TextInputDialog.
A custom JTabbedPane that allows toggling tab header visibility at runtime.
An abstract base class for actions that are intended to be added to a ToolBar.
A simple Supplier-like interface for supplying ToolBarActions for an ActionPanel.
A very simple Supplier-like interface for supplying new actions for an ActionGroup within an ActionPanel.
This class only exists to relieve some clutter from the ActionPanel class, which is getting quite large.
Our buttons are placed in a container panel at the bottom of each ActionGroup.
Applications built with swing-extras have a way of detecting if they are out of date, or if any of their currently-installed extensions are out of date.
Callers can subscribe to receive notification events from an UpdateManager.
Your application can package a json file which represents one or more "update sources" - that is, remote URLs where your application can check for new versions, and also to enable discovery and installation of new extensions, or new versions of already-installed extensions.
Represents a single remote update source, for use with the UpdateConfiguration class.
Used by FieldValidator to report successful or unsuccessful validation on a FormField.
Can be added to a FormField to receive notification when the FormField's value has changed.
Contains project-related constants that can be referenced from anywhere in the code as needed.
Represents the version manifest for an application, with all of its versions and all of its extensions.
Represents a single version of the application in question, along with all of its compatible extensions.
Represents a single extension for the application in question, along with all of the versions of this extension.
Represents a single version of a single extension.
Compares String versions in a sane and predictable way.
Represents a preferences object that can be used with AudioUtil.generateWaveform().
A ConfigPanel instance that allows viewing and editing settings for a WaveformConfig object.
 
 
A ConfigPanel implementation for AudioWaveformPanel.
A FieldValidator that enforces yyyy-mm-dd format on a given TextField.