Class JFactory
-
- All Implemented Interfaces:
@API(since = "5.3", status = API.Status.EXPERIMENTAL) public class JFactoryEnables 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
rowHeightwhich does not work when the fonts are scaled. So you need to call singleLineRowHeight or configurerowHeightmanually
-
-
Constructor Summary
Constructors Constructor Description JFactory()
-
Method Summary
Modifier and Type Method Description static voidrefreshUI()Re-initializes the current LaF and updates the UI for all the open windows. static voidrefreshUI(String className)Set new look and feel for all the open windows. static JTextAreatabMovesFocus(JTextArea textArea)By default JTextArea uses tabto add tab character, however, sometimes it is desired to usetabto move focus.static JButtonsmall(JButton component)static JLabelsmall(JLabel component)static JTextFieldsmall(JTextField component)static JCheckBoxsmall(JCheckBox component)static JEditableCheckBoxsmall(JEditableCheckBox component)static JLabelbig(JLabel component)static JToolBarsmall(JToolBar component)static JTablesingleLineRowHeight(JTable component)Updates setRowHeight with the height of a single line. static JLabelerror(JLabel component)Configures the label to look like warning.static JLabelwarning(JLabel component)Configures the label to look like error.static <T extends JComponent> TwithDynamic(T component, Consumer<in T> onUpdateUi)Attaches a configuration action that is executed when Look and Feel changes. static voidupdateUi(JComponent c)-
-
Method Detail
-
refreshUI
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static void refreshUI()
Re-initializes the current LaF and updates the UI for all the open windows.
-
refreshUI
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static void refreshUI(String className)
Set new look and feel for all the open windows.
- Parameters:
className- look and feel class name
-
tabMovesFocus
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JTextArea tabMovesFocus(JTextArea textArea)
By default JTextArea uses
tabto add tab character, however, sometimes it is desired to usetabto move focus.- Parameters:
textArea- input textarea to configure moving focus on tab- Returns:
input textarea (for fluent APIs)
-
small
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JTextField small(JTextField component)
-
small
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JCheckBox small(JCheckBox component)
-
small
@API(since = "5.6", status = API.Status.EXPERIMENTAL) static JEditableCheckBox small(JEditableCheckBox component)
-
small
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JToolBar small(JToolBar component)
-
singleLineRowHeight
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JTable singleLineRowHeight(JTable component)
Updates setRowHeight with the height of a single line. There's no Swing property for
rowHeight, so each table should be configured individually- Parameters:
component- input table to configure- Returns:
input component (for fluent APIs)
-
error
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JLabel error(JLabel component)
Configures the label to look like
warning.- Parameters:
component- input label- Returns:
input label (for fluent APIs)
-
warning
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static JLabel warning(JLabel component)
Configures the label to look like
error.- Parameters:
component- input label- Returns:
input label (for fluent APIs)
-
withDynamic
@API(since = "5.3", status = API.Status.EXPERIMENTAL) static <T extends JComponent> T withDynamic(T component, Consumer<in T> onUpdateUi)
Attaches a configuration action that is executed when Look and Feel changes.
Note: the action is executed when
withDynamicis called, and the action is executed even if the new and the old LaFs are the same.- Parameters:
component- component to updateonUpdateUi- action to run (immediately and when look and feel changes)- Returns:
input component (e.g. for fluent APIs)
-
updateUi
static void updateUi(JComponent c)
-
-
-
-