All Classes and Interfaces
Class
Description
A delegate object for text event listeners served by the numerous
TextComponent
types.A wrapper for mig layout constraint string to avoid the inherent brittleness of strings...
An
AnimatedStyler
is conceptually a union of the Animation
and Styler
functions, which is to say that it takes both an AnimationState
and a
ComponentStyleDelegate
to produce a new ComponentStyleDelegate
with some style properties applied to it (usually based on the AnimationState
).An animation is a function which is called repeatedly during its lifetime,
which is determined by a
LifeTime
and a RunCondition
.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
AnimationState.progress()
).An API for creating an
Animation
and defining how it should be executed.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 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
.This class models the state of an individual table/list/drop down cell alongside
various properties that a cell should have, like for example
the value of the cell, its position within the table
as well as a renderer in the form of a AWT
Component
which may or 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 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)
.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.The lifetime is an immutable and thread safe value based object, which
defines for how long an
Animation
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)
.An immutable value based class that represents a location in a two-dimensional
coordinate system specified in float precision and specifically designed
for Swing components.
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.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.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.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
RenderBuilder
which allows you to
specify how a cell should be rendered.A builder type for creating cell renderer for a list, combo box or table
using a fluent API, typically through methods like
UIForList.withRenderer(Configurator)
,
UIForCombo.withRenderer(Configurator)
or UIForTable.withRenderer(Configurator)
,
where the builder is exposed to the configurator lambda.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 a 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 ActionEvent
s 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 JComponent
s 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.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.
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(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.
{inheritDoc}
Defines whether the list based data model of a
JTable
is row or column major
and whether it is editable or not.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(Placement)
method exposed by the style API (see UIForAnySwing.withStyle(Styler)
).{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}
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
.{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
JMenuItem
s.A generic SwingTree builder node designed as a basis for configuring any kind of
JComponent
instance.A SwingTree builder node designed for configuring various kinds of
JTextComponent
instances
in a fluent and declarative way.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 builder node 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 SwingTree builder node 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.