Package org.apache.jorphan.gui
Class JFactory
java.lang.Object
org.apache.jorphan.gui.JFactory
Enables to apply styles that persist across look and feel updates.
The class provides APIs to configure Swing components so the look is consistent, and it updates the components when Look and Feel changes
Swing API provides no standard components and colors for: small, big components; warning, error styles for labels; and so on
Note: by default JTable
comes with fixed rowHeight
which does not work
when the fonts are scaled. So you need to call singleLineRowHeight(JTable)
or configure rowHeight
manually
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic JLabel
static JLabel
Configures the label to look likewarning
.static void
Re-initializes the current LaF and updates the UI for all the open windows.static void
Set new look and feel for all the open windows.static JTable
singleLineRowHeight
(JTable component) UpdatesJTable.setRowHeight(int)
with the height of a single line.static JButton
static JCheckBox
static JLabel
static JTextField
small
(JTextField component) static JToolBar
static org.apache.jorphan.gui.JEditableCheckBox
small
(org.apache.jorphan.gui.JEditableCheckBox component) static JTextArea
tabMovesFocus
(JTextArea textArea) By defaultJTextArea
usestab
to add tab character, however, sometimes it is desired to usetab
to move focus.static void
static JLabel
Configures the label to look likeerror
.static <T extends JComponent>
TwithDynamic
(T component, Consumer<? super T> onUpdateUi) Attaches a configuration action that is executed when Look and Feel changes.
-
Constructor Details
-
JFactory
public JFactory()
-
-
Method Details
-
refreshUI
@API(since="5.3", status=EXPERIMENTAL) public static void refreshUI()Re-initializes the current LaF and updates the UI for all the open windows. -
refreshUI
Set new look and feel for all the open windows.- Parameters:
className
- look and feel class name
-
tabMovesFocus
By defaultJTextArea
usestab
to add tab character, however, sometimes it is desired to usetab
to move focus.- Parameters:
textArea
- input textarea to configure moving focus on tab- Returns:
- input textarea (for fluent APIs)
-
small
-
small
-
small
-
small
-
small
@API(since="5.6", status=EXPERIMENTAL) public static org.apache.jorphan.gui.JEditableCheckBox small(org.apache.jorphan.gui.JEditableCheckBox component) -
big
-
small
-
singleLineRowHeight
UpdatesJTable.setRowHeight(int)
with the height of a single line. There's no Swing property forrowHeight
, so each table should be configured individually- Parameters:
component
- input table to configure- Returns:
- input component (for fluent APIs)
-
error
Configures the label to look likewarning
.- Parameters:
component
- input label- Returns:
- input label (for fluent APIs)
-
warning
Configures the label to look likeerror
.- Parameters:
component
- input label- Returns:
- input label (for fluent APIs)
-
withDynamic
@API(since="5.3", status=EXPERIMENTAL) public static <T extends JComponent> T withDynamic(T component, Consumer<? super T> onUpdateUi) Attaches a configuration action that is executed when Look and Feel changes.Note: the action is executed when
withDynamic
is called, and the action is executed even if the new and the old LaFs are the same.- Type Parameters:
T
- type of the component- Parameters:
component
- component to updateonUpdateUi
- action to run (immediately and when look and feel changes)- Returns:
- input component (e.g. for fluent APIs)
-
updateUi
-