All Classes and Interfaces
Class
Description
Extensions of this class delegate a component
as well as provide useful methods for trying the tree of the components
in which the delegated component is contained.
A delegate object for text event listeners served by the numerous
TextComponent types.Represents a constraint that can be added to a layout manager
on a component by component basis.
This defines what is needed for animating an immutable
value type
T through a transformation function
AnimationTransformation and a LifeTime determining
when the animation should run.An
AnimatedStyler is conceptually a union of the Animation
and Styler functions, which is to say that it takes both an AnimationStatus and a
ComponentStyleDelegate to produce a new ComponentStyleDelegate
with some style properties applied to it (usually based on the AnimationStatus).An animation is a function which is called repeatedly during its lifetime,
which is determined by a
LifeTime and a RunCondition.An API for creating an
Animation and defining how it should be executed.The state of an animation at a given point in time describing how far the animation has progressed
using a number between 0 and 1 (see
AnimationStatus.progress()).Defines an animation in terms of functional transformations
taking in an
AnimationStatus together with a value
and returning an updated value.This interface defines a basic table model which can be used to create a table model using lambda expressions.
The class below is a functional builder for creating a lambda based implementation of the
BasicTableModel.Implementations of this functional interface translate to the
TableModel.isCellEditable(int, int) method.Implementations of this functional interface translate to the
TableModel.getColumnClass(int) method.Implementations of this functional interface translate to the
TableModel.getColumnCount() method.Implementations of this functional interface translate to the
TableModel.getColumnName(int) method.Implementations of this functional interface translate to the
TableModel.getValueAt(int, int) method.Implementations of this functional interface translate to the
TableModel.setValueAt(Object, int, int) method.Implementations of this functional interface translate to the
TableModel.getRowCount() method.A provider of a view bound to a
Var property, usually containing a value object
based view model or a simple data model in the form of a record from
which the calcite dynamically creates and manages sub-views.A generic interface for builder objects which is used by the SwingTree API to call
the build methods of the builder objects for you and then use the built object
as part of a SwingTree UI.
The listener interface for receiving the button clicked
ActionEvent.A builder type for creating cell renderer for a list, combo box or table
using a fluent API, typically through methods like
UIForList.withCells(Configurator),
UIForCombo.withCells(Configurator) or UIForTable.withCells(Configurator),
where the builder is exposed to the configurator lambda.This class models the state of an individual table/tree/list/drop down cell alongside
various properties that a cell should have, like for example
the value of the cell, its position within the component
as well as a
CellConf.view() (renderer/editor) in the form of an AWT Component
which may or may not be replaced or modified.Instances of this are delegates for a specific components and events that
are passed to user event action handlers (see
Action),
with the purpose of providing useful context information to the action handler.A
JComponent and MouseEvent delegate providing useful context information to various Action listeners
used by UIForAnySwing.onMouseDrag(Action) like for example the ComponentMouseEventDelegate.mouseX() and
ComponentMouseEventDelegate.mouseY() of the event as well as more drag specific information like
ComponentDragEventDelegate.dragEvents() and ComponentDragEventDelegate.dragPositions().Is attached to UI components in the form of a client property.
A
JComponent as well as MouseEvent delegate
providing useful context information to various Action listeners which are
typically registered through
UIForAnySwing.onMouseClick(sprouts.Action)},
UIForAnySwing.onMousePress(sprouts.Action) and
UIForAnySwing.onMouseRelease(sprouts.Action), among others.A
ComponentStyleDelegate is a delegate for a JComponent and its StyleConf configuration
used to apply further specify the style of said JComponent.A configurator is a functional interface that takes a configuration object and
returns a transformed configuration object.
An enum representing the possible answers to a confirmation dialog.
An immutable builder class for creating simple confirmation dialogs
based on the
JOptionPane class, more specifically the
JOptionPane.showOptionDialog(Component, Object, String, int, int, Icon, Object[], Object)
method.This is a synchronized singleton wrapping a
BlockingQueue.A value based builder object for configuring drag away events of a component
using the
UIForAnySwing.withDragAway(Configurator) method, where an instance of this
class is passed to the Configurator lambda defining how
the component should behave and look when dragged away.A value based builder object for configuring drop target events for a component
using the
UIForAnySwing.withDropSite(Configurator) method, where an instance of this
class is passed to the Configurator lambda defining how
the component should behave and look when something is dragged and dropped
on top of it.A view model for a single entry in a
JScrollPanels.One of Swing's biggest drawback is that it is single threaded.
The filter configuration object
defines if and how a filter should be applied
on the rendering of the parent of a particular component.
Used by
NoiseFunction.andThen(FloatFunction)
to apply a scalar function to the result of a noise function
or to the input of a noise function using NoiseFunction.compose(FloatFunction).This class is an
AddConstraint designed as a
component constraint for the ResponsiveGridFlowLayout layout manager,
allowing you to dynamically adjust the number of grid layout cells
a particular component can span based on the current parent container's size.An immutable configuration object used to define how a
Instances of this are passed to the
Use
Here an example demonstrating how this might be used:
FlowCell should
place its associated component within a ResponsiveGridFlowLayout.Instances of this are passed to the
Configurator of a FlowCell
so that you can dynamically assign the number of cells a component should span,
based on the size category of the parent container.Use
UILayoutConstants.AUTO_SPAN(Configurator) to create a FlowCell from a Configurator
and pass it to the UIForAnySwing.add(AddConstraint, UIForAnySwing[])
of a SwingTree UI declaration.Here an example demonstrating how this might be used:
An immutable, wither-like method based config API for font styles
that is part of the full
StyleConf configuration object.An immutable config API for specifying a gradient style.
Primarily designed to be implemented by an
Enum type
that declares a set of icon paths so that the enum instances
can be used to identify and load
(cached) icons across your application.This class represents the style of an image which can be drawn onto the inner
area of a component.
JBox is a generic lightweight container similar to
javax.swing.JPanel, but with 2 important differences:
The JBox is transparent by default, meaning that it does
not paint its background if it is not explicitly set through the style API.A
JLabel subclass specifically designed to display icons only.The
JScrollPanels class is a container for a list of scrollable UI components
representing view models or simple data models which are dynamically turned into
views by a ViewSupplier.Instances of this are entries of this
JScrollPanels.An implementation of a "split button" where the left (larger) side acts like a normal
button and the right side down arrow based button opens an attached
JPopupMenu.This is a simple Singleton class representing the current state of the keyboard.
This enum represents all the keys on the keyboard which can be queried for their current state.
An abstract representation of an immutable layout configuration for a specific component,
for which layout manager specific implementations can be instantiated through
various factory methods like
Layout.border(), Layout.flow(), Layout.grid(int, int)...The
Layout.BorderLayoutInstaller layout is a layout that represents
a BorderLayout layout configuration for a component,
which consists of the horizontal gap and vertical gap.The
Layout.ForBoxLayout layout is a layout that represents
a BoxLayout layout configuration for a component,
which consists of the axis.The
Layout.ForFlowLayout layout is a layout that represents
a FlowLayout layout configuration for a component.The
Layout.ForMigLayout layout is a layout that represents
a MigLayout layout configuration for a component.The
Layout.GridLayoutInstaller layout is a layout that represents
a GridLayout layout configuration for a component,
which consists of the number of rows, number of columns, horizontal gap and vertical gap.The
Layout.None layout is a layout that represents the absence
of a LayoutManager for a component.The
Layout.Unspecific layout is a layout that represents the lack
of a specific layout being set for a component.A wrapper for mig layout constraint string to avoid the inherent brittleness of strings...
The lifespan defines when an
Animation starts and for how long it should run.A context object providing
JList entry specific context information
for the functional ListEntryRenderer interface, which is used to
render list entries.A functional interface allowing you to define how a
JList entry should
be rendered in a declarative manner through method UIForList.withRenderComponent(ListEntryRenderer).If you are using builders for your custom Swing components,
implement this to allow the
UI builder to call the MenuBuilder.build()
method for you!An immutable builder class for creating simple message dialogs (errors, warnings, infos...)
based on the
JOptionPane class, more specifically the
JOptionPane.showMessageDialog(Component, Object, String, int, Icon)
method.A wrapper for mig layout constraint string to avoid the inherent brittleness of strings...
This
MouseWheelListener exists to make JScrollPane scroll
behavior the same as one is used to from a browser,
where the mouse over a scrollable control will scroll
that control until the control bottoms out, and then continues
to scroll the parent JScrollPane, usually the
JScrollPane for the whole page.A noise gradient configuration which is used to define a noise gradient style
for a component based on a
NoiseFunction which is a function
that takes a coordinate and returns a value between 0 and 1.A noise function is used to render
NoiseConf styles
by taking a float based
coordinate and returning a gradient value between 0 and 1.A collection of noise functions that can be used to generate procedural textures.
A container object for AWT
Component types
which may or may not contain a non-null value.An immutable builder class for creating simple enum based option dialogs
where the user can select one of the enum options.
A functional interface for doing custom painting on a component
using the
Graphics2D API.Represents a classification of the size of a parent component in a
ResponsiveGridFlowLayout
that serves as a sort of layout mode for the child components.Applies an action to the current component typically as part of
UIForAnySwing
through method UIForAnything.peek(Peeker) with the purpose of
expose the underlying component to the user while preserving a declarative method chaining
based builder API usage pattern.An immutable value based class that represents a location in float based two-dimensional
coordinate system specified in float precision and specifically designed
for Swing components.
Represents the progress snapshot of an animation in terms of numbers between 0 and 1
that describe how far the animation has progressed between its start and end.
This class models the API of the
CellBuilder which allows you to
specify how a cell should be rendered.A flow layout arranges components in a directional flow, much
like lines of text in a paragraph.
A wrapper for
ImageIcon that automatically scales the image to the
current UI.scale() value defined in the current SwingTree
library context singleton.This class is an immutable builder which defines the
Scrollable behavior of a component
within a JScrollPane.A supplier of scrollable increments for a
JScrollPane.An immutable config API
designed for defining shadow styles
as part of the full
StyleConf configuration object.An immutable value object that represents a size in the form of float based width and height or lack thereof.
The listener interface for receiving action events.
The listener interface for receiving the split clicked
ActionEvent.This class is a delegate for events of the
JSplitButton component.An immutable data carrier exposing everything needed to configure an item of a
JSplitButton.Instances of this are delegated to the individual
JSplitButton items
and their ActionEvents exposed to you inside your Action handlers,
like for example one you would supply to SplitItem.onSelection(Action).Defines either an animation progresses from 0 to 1 or regresses from 1 to 0.
Implementations of this interface are SwingTree native components
which enjoy the full support of the style API.
An immutable config container with cloning based update methods designed
for functional
JComponent styling.A
Styler is a function that takes a ComponentStyleDelegate and then
transforms and returns it with some new style properties (see UIForAnySwing.withStyle(Styler)).An abstract class intended to be extended to create custom CSS look-alike
source code based style sheets for your Swing application.
A
StyleTrait contains a set of properties that will be used to
target specific JComponents matching said properties, so that
you can associate custom Styler lambdas with them
which are using the ComponentStyleDelegate API
to configure the style of the component.A specialized
ImageIcon subclass that allows you to use SVG based icon images in your GUI.If you are using builders for your custom Swing components,
implement this to allow the
UI builder to call the SwingBuilder.build()
method for you!A
SwingTree is a singleton that holds global configuration context for the SwingTree library.A functional interface for configuring a
SwingTree instance
through SwingTree.initialiseUsing(SwingTreeConfigurator).An immutable configuration object for the
SwingTree library,
which can be configured using a functional SwingTreeConfigurator lambda
passed to SwingTree.initialiseUsing(SwingTreeConfigurator).Defines how the
Font, specified through SwingTreeInitConfig.defaultFont(Font),
is installed in the UIManager.Defines how the scaling factor for the UI should be determined.
An immutable data carrier exposing everything needed to configure a tab of a
JTabbedPane.A
JTabbedPane delegate providing useful context information to various Action listeners
used by UIForTabbedPane.onTabMouseClick(Action), UIForTabbedPane.onTabMousePress(Action) and
UIForTabbedPane.onTabMouseRelease(Action), for example.A simple functional interface whose implementations are used to
form simple
TableModel implementations
based on lists of lists.A simple functional interface whose implementations are used to
form simple
TableModel implementations
based on a mapping of column names to columns.Functional interface for dynamically creating tabs based on a provided model.
An immutable configuration type which holds custom
text as well as placement and font properties used for
rendering text onto a Swing component.
A delegate object for the
Action lambda passed
to the UIForAnyTextComponent.onTextInsert(Action) method,
which is used to register a listener for text insertion events.A delegate object for the
Action lambda passed
to the UIForAnyTextComponent.onTextRemove(Action) method,
which is used to register a listener for text removal events.A delegate object for the
Action lambda passed
to the UIForAnyTextComponent.onTextReplace(Action) method,
which is used to register a listener for text replacement events.This class is a static API for exposing swing tree builder types for wrapping
and assembling various
JComponent types to form a UI tree.A general purpose enum describing if something is never, always or sometimes active.
Vertical or horizontal alignment.
The logical combination of a vertical and horizontal alignment.
Used to define how a layout manager (typically the
BoxLayout)
will lay out components along the given axis.{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
This
Color class is a refined and more complete/modernized
implementation of the Color class which models colors in the default
sRGB color space or colors in arbitrary color spaces identified by a
ColorSpace.{inheritDoc}
{inheritDoc}
Defines the areas of a component, which is used
to by the
ImageConf to determine if and how an image should be clipped.Enum representing the different boundaries of a UI component.
Use this to specify the orientation of a component.
Use this in the style API (see
UIForAnySwing.withStyle(Styler))
to target specific corners of a JComponent and apply
custom StyleConf properties to them.An enum set of all the available swing cursors which
map to the cursor type id.
Used to specify the cycle method for a gradient conf in the style API.
This enum contains constant values representing
the type of action(s) to be performed by a Drag and Drop operation.
Use this to target specific edges of a
JComponent and apply
custom StyleConf properties to them.{inheritDoc}
This enum is used to specify how an image or icon (usually a
SvgIcon)
should be scaled to fit the
dimensions of the component that it is being rendered into, like for example
through the SvgIcon.paintIcon(java.awt.Component, Graphics, int, int) method.This class represents a SwingTree font and is used to specify the font of a component.
Use this to specify the font style of a component.
Use these enum instances to specify the gradient type for various sub styles,
like for example the gradient style API exposed by
ComponentStyleDelegate.gradient(swingtree.UI.Layer, String, Configurator)
or ComponentStyleDelegate.gradient(Configurator) methods (see UIForAnySwing.withStyle(Styler)).Different positions along a horizontally aligned UI component.
{inheritDoc}
Instances of this enum are used to configure onto which
layer a particular style configuration should be applied.
Defines whether the list based data model of a
JTable is row or column major
and whether it is editable or not.{inheritDoc}
Set of enum instances defining common types of Swing look and feels.
Defines whether the data model of a
JTable should be editable or not.{inheritDoc}
{inheritDoc}
{inheritDoc}
Defines the different types of noise functions that can be used to render
a
NoiseConf style.Overflow policy of UI components.
{inheritDoc}
{inheritDoc}
Use this to specify the placement of an image as part of the
ImageConf through
the ImageConf.placement(swingtree.UI.Placement) method exposed by the
style API (see UIForAnySwing.withStyle(Styler)).{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
All UI components are at their core rectangular, meaning they
always have exactly 4 uniquely identifiable sides.
{inheritDoc}
Use these enum instances to specify the gradient alignment for various sub styles,
like for example the gradient style API exposed by
ComponentStyleDelegate.gradient(Configurator)
or ComponentStyleDelegate.gradient(Configurator) methods (see UIForAnySwing.withStyle(Styler)).{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
{inheritDoc}
Different positions along a vertically aligned UI component.
A set of extension methods for various SwingTree enums.
A namespace for useful factory methods like
UIFactoryMethods.color(String) and UIFactoryMethods.font(String),
and layout constants (see UILayoutConstants).The following is a more specialized type of builder node based on the
UIForAnySwing builder type,
and provides additional features associated with the more specialized
AbstractButton" Swing component type.A builder for
JMenuItems.Defines an abstract builder for
constructing a scroll pane or any subclass of
JScrollPane.A generic SwingTree builder node designed as a basis for configuring any kind of
JComponent instance.A SwingTree builder designed for configuring various kinds of
JTextComponent instances
in a fluent and declarative way.This is the root builder type for all other SwingTree builder subtypes.
An abstract precursor for swing tree builder nodes for
JToggleButton instances.A SwingTree builder node for configuring any kind of
Window type.A SwingTree builder node designed for configuring
JBox instances.A SwingTree builder node designed for configuring
AbstractButton sub-type instances,
usually the JButton type.A SwingTree builder node designed for configuring
JCheckBox instances.A SwingTree builder node designed for configuring
JComboBox instances.A SwingTree builder node designed for configuring
JEditorPane instances.A
UIForAnySwing subclass specifically designed for adding icons to your SwingTree.A declarative builder for
JFrame components.A SwingTree builder node designed for configuring
JLabel instances.A SwingTree builder node designed for configuring
JList instances.A SwingTree builder node designed for configuring
JMenu instances.A SwingTree builder node designed for configuring
JMenuItem instances.A SwingTree builder node designed for configuring
JPanel instances.A SwingTree builder node designed for configuring
JPasswordField instances.A SwingTree builder node designed for configuring
JPopupMenu instances.A SwingTree builder node designed for configuring
JProgressBar instances.A SwingTree builder node designed for configuring
JRadioButton instances.A SwingTree builder node designed for configuring
JRadioButtonMenuItem instances.A SwingTree builder node designed for configuring
JScrollPane instances.A builder node for
JScrollPanels, a custom SwingTree component,
which is similar to a JList but with the ability to interact with
the individual components in the list.A SwingTree builder node designed for configuring
JSeparator instances.A SwingTree builder node designed for configuring
JSlider instances.A SwingTree builder node designed for configuring
JSpinner instances.A SwingTree builder node designed for configuring
JSplitButton instances.A SwingTree builder node designed for configuring
JSplitPane instances.A SwingTree builder node designed for configuring
JComponent types.A SwingTree builder node designed for configuring
JTabbedPane instances.A SwingTree declarative builder designed for configuring
JTable instances allowing
for a fluent API to build tables in a declarative way.A declarative builder node for the
UI.TableHeader component.A SwingTree builder node designed for configuring
JTextArea instances.A SwingTree builder node designed for configuring
JTextField instances.A declarative SwingTree builder designed for configuring
UIForTextPane instances.A SwingTree builder node designed for configuring
JToggleButton instances.Essentially just a namespace for static layout constants for
the
MigLayout LayoutManager type.A functional interface for doing swing component validity verification.
A provider of a view, usually a view model or a simple data model with the purpose of
making it possible to dynamically creating sub-views for inside a view for a given
sub-view model.