Commit Graph

1828 Commits

Author SHA1 Message Date
Karl Tauber
070cf9c40d Icons: scale checkbox and radiobutton icons when using text styles large, medium, small and mini (issue #1061)
https://www.formdev.com/flatlaf/typography/#text_styles

Theme Editor: added to preview
2025-12-03 14:19:47 +01:00
Karl Tauber
5b0f13110a Icons: support scaling Laf icons (checkbox, radiobutton, etc) (issue #1061) 2025-12-03 11:41:39 +01:00
Karl Tauber
d7a5c353fe System File Chooser: updated Linux native libraries (PR #988)
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
built by GitHub Actions:
https://github.com/JFormDesigner/FlatLaf/actions/runs/19859966311
2025-12-02 18:19:45 +01:00
Karl Tauber
9e8b8697d1 System File Chooser: Linux: show file dialog in dark if current FlatLaf theme is dark (PR #988)
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
2025-12-02 14:11:10 +01:00
Karl Tauber
58e073a05b System File Chooser: on Linux when JavaFX is used in application, then always use Swing file chooser because system file dialog does work (PR #988)
with Java 8, some GLib related messages are logged to console and system file dialog is not shown
e.g.: `GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager'`

with Java 17, the system file dialog is shown, but then JavaFX no longer works
with Java 21, the application quits/crashes immediately when trying to show system file dialog

also fixed Error Prone warning in `getFiltersForDialog()`
2025-12-01 20:10:06 +01:00
Karl Tauber
1c6e8774cf System File Chooser: (PR #988)
Some checks failed
CI / build (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
CI / release (push) Has been cancelled
- fixed missing filter in combobox if only `setFileFilter(myFilter)` is used, but not `addChoosableFileFilter(myFilter)`
- fallback Swing file chooser did ignore `isAcceptAllFileFilterUsed()`
- check for supported filter types in `setFileFilter()`
2025-11-30 19:16:51 +01:00
Karl Tauber
1e724029ae Merge PR #987: Enhance FlatUIUtils.getBorderArc to support FlatLineBorder Arc value
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
2025-11-30 00:44:22 +01:00
Karl Tauber
9fdaa827b5 Merge PR #1030: TabbedPaneUI: When the mouse wheel event is not in the viewport, propagate the event to the nearest parent 2025-11-29 23:25:50 +01:00
Karl Tauber
b9441050b2 TabbedPane:
- convert mouse wheel event before dispatching it to parent
- use `Component.dispatchEvent()`, instead of invoking mouse wheel listeners directly, which dispatches the event to an ancestor
2025-11-29 23:12:21 +01:00
Karl Tauber
8239cdd540 fixed errors reported by Error Prone in commit 855c41bf4a 2025-11-29 18:47:06 +01:00
Karl Tauber
08419d6135 TabbedPane:
- added icon-only tab mode, which shows tab icons but hides tab titles
- in "Show Hidden Tabs" popup menu, do not show text "x. Tab" if tab has icon but no title (issue #1062)
2025-11-29 18:11:31 +01:00
Karl Tauber
e61499e7c6 use AtomicReference for method parameters that return values 2025-11-29 14:31:05 +01:00
Karl Tauber
d3e6c7af14 Styling: TestFlatStyleableValue: use random values for boolean, integer, float, color, insets and dimension to better test whether set and get style work correctly 2025-11-28 00:43:37 +01:00
Karl Tauber
ff11a11d28 Styling: TestFlatStyling: removed component, border and icon tests because they are also tested in TestFlatStyleableValue 2025-11-27 23:42:26 +01:00
Karl Tauber
855c41bf4a Styling: TestFlatStyleableValue:
- check whether all keys (returned by `getStyleableInfos()`) are tested
- added tests for missing keys
- cache `ui.applyStyle(...)` methods
2025-11-27 23:00:29 +01:00
Karl Tauber
2b587d4dba Styling: added missing unit tests 2025-11-27 15:53:25 +01:00
Karl Tauber
db4173dd06 Styling: introduced interface StyleableObject
Some checks failed
CI / build (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
CI / release (push) Has been cancelled
- has default implementations that use annotations
- replaces `StyleableBorder`
- used for styleable icons
2025-11-26 11:09:43 +01:00
Karl Tauber
03b7a1c29e Styling: added missing unit tests; added missing FlatCapsLockIcon.getStyleableInfos()
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
2025-11-25 18:51:40 +01:00
Karl Tauber
60968f77eb Styling: replaced all occurrences of
`return new UnknownStyleException( key )`
with
  `throw new UnknownStyleException( key )`
2025-11-25 18:48:15 +01:00
Karl Tauber
8bafa37b4a Merge PR #1060: Styling of wrong icon in FlatRadioButtonUI 2025-11-25 18:24:06 +01:00
Karl Tauber
04602ac227 CheckBox and RadioButton:
- fixed styling of custom icon
- fixed focus width (and preferred size) if using custom icon
- added unit tests
2025-11-25 18:18:22 +01:00
Karl Tauber
02636b260a Merge PR #1051: Zooming API
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
Fonts / Fonts (inter) (push) Has been cancelled
Fonts / Fonts (jetbrains-mono) (push) Has been cancelled
Fonts / Fonts (roboto) (push) Has been cancelled
Fonts / Fonts (roboto-mono) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
2025-11-25 12:30:09 +01:00
Karl Tauber
c8e2e78955 Gradle: use configuration cache 2025-11-25 11:51:41 +01:00
daWoife
7ebc1b27c1 Update FlatRadioButtonUI.java
The method applyStyleProperty of class FlatRadioButtonUI currently styles the variable icon, a field of the parent class BasicRadioButtonUI and the default icon which is set with UIManager.getIcon in method installDefaults. 
So the wrong icon is styled if someone subclasses FlatRadioBoxIcon or FlatCheckBoxIcon and sets this as the new icon for a JRadioButton or JCheckBox instance. (An example why someone would do so is shown in issue #413).
With this change styling takes account of the current icon of a JRadioButton or JCheckBox.
2025-11-15 11:37:18 +01:00
Karl Tauber
056da35758 Gradle:
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17) (push) Has been cancelled
CI / build-on (21) (push) Has been cancelled
CI / build-on (25) (push) Has been cancelled
CI / build-on (8) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
Fonts / Fonts (inter) (push) Has been cancelled
Fonts / Fonts (jetbrains-mono) (push) Has been cancelled
Fonts / Fonts (roboto) (push) Has been cancelled
Fonts / Fonts (roboto-mono) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
- always use Java toolchains
- default is Java 11 (but source/targetCompatibility is still 1.8)
- use system property `toolchain` (e.g. `-Dtoolchain=25`) to compile with other Java versions

preparation for Gradle 9.x, which requires Java 17+ to run
2025-10-28 13:06:40 +01:00
Karl Tauber
bdb7438672 Merge PR #988: System File Chooser
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (21, 25) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
2025-10-27 19:16:50 +01:00
Karl Tauber
299250a710 System File Chooser: change @since 3.6 to @since 3.7 2025-10-27 18:06:41 +01:00
Karl Tauber
1e2a75a19c sigtest: fix line separators for file generated by sigtest (default is a mix of cr+lf and lf on Windows) 2025-10-26 19:44:58 +01:00
Karl Tauber
0fb4c811f6 Zooming API 2025-10-26 18:50:24 +01:00
Karl Tauber
960f9d86c1 TextField: fixed wrong leading/trailing icon placement if border is set to null (issue #1047)
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (21, 25) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-10-22 14:18:40 +02:00
Karl Tauber
36d5685f4c release 3.6.2
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (21, 25) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-10-10 09:13:22 +02:00
Karl Tauber
119b4a922d fixed loading FlatLaf properties files in NetBeans (broken since commit again; issue #1026)
now using old implementation again (before commit 2ac7234c32), but if that does not find properties file, then fallback to new implementation from commit 2ac7234c32
2025-09-29 21:30:41 +02:00
Karl Tauber
15cbf28a0d Popup: no longer reuse popup windows for menus to avoid immediately closing dialogs on ChromeOS (issue #1029)
added system property `flatlaf.reuseVisiblePopupWindow`
2025-09-20 12:51:50 +02:00
Karl Tauber
b3c9638e47 Popup: no longer use popup.show() for already visible popup window to avoid that inactive owner window becomes active (issue #1037)
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-09-09 20:00:26 +02:00
Karl Tauber
c051ad5f72 macOS: fixed window "flashing" when switching from a light to a dark theme (or vice versa), especially when using animated theme changer 2025-09-09 17:30:43 +02:00
Karl Tauber
1ed7aeaa45 Tree: removed unused method parameter; reported by Error Prone in commit d388158de7
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-09-08 14:11:16 +02:00
Karl Tauber
2ac7234c32 support loading FlatLaf properties files from named Java modules without the need to open that package in module-info.java (issue #1026) 2025-09-08 13:03:17 +02:00
Karl Tauber
6f63982054 load properties files using UTF-8 instead of ISO 8859-1 (issue #1031) 2025-09-06 12:45:40 +02:00
Karl Tauber
d388158de7 Tree and List: fixed painting of rounded drop backgrounds (issue #1023) 2025-09-06 00:15:11 +02:00
lkrieger-oashi
8cfe1ca597 changed: when the mouse wheel event is not in the viewport, propagate the event to the nearest parent
Scenario: A JTabbedPane inside a JScrollPane
Expectation: Moving the mouse wheel inside the TabbedPane's content should cause the outer ScrollPane to scroll
Actual: Event dispatcher targets TabbedPane, but the TabbedPane's mouse listener does nothing because the event is not in the viewport. The only other target is the ancestor (Window), which discards the event.
Fix: If the event does not occur in the viewport, delegate it up in the hierarchy to the nearest parent with a MouseWheelListener
2025-08-20 10:17:01 +02:00
Karl Tauber
97988e90b4 release 3.6.1 2025-07-12 16:44:32 +02:00
Karl Tauber
f71dbb2647 Linux: ensure that old LinuxPopupMenuCanceler window listener is removed before adding a new one (issue #962)
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
(did not yet happen...)
2025-07-12 16:28:49 +02:00
Karl Tauber
04ad21b5b6 Button: added unit tests for foreground and background colors (issue #1017) 2025-07-12 15:59:56 +02:00
Karl Tauber
ff722c0b34 Popup:
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
- macOS: Fixed popup flickering after theme change. (issue #1009)
- macOS with JetBrains Runtime: Fixed sometimes empty popups. (issue #1019)
2025-07-07 18:33:49 +02:00
Karl Tauber
34b19f00e4 Window decorations (Windows 10/11 only):
Some checks failed
CI / build (11) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
- improved diagonal window resizing on top-left and top-right window corners
- top window resize area now also covers iconify/maximize/close buttons
(issue #1015)
2025-07-03 20:08:40 +02:00
Karl Tauber
286ce15146 ToggleButton: styling selectedForeground did not work if foreground is also styled (issue #1017) 2025-07-02 20:08:55 +02:00
Karl Tauber
abfaf86cd5 change snapshot version from 3.7-SNAPSHOT to 3.6.1-SNAPSHOT 2025-07-02 19:50:51 +02:00
Karl Tauber
1eee35035d Merge main into system-file-chooser
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-06-23 17:09:19 +02:00
Karl Tauber
bc4c7b25d3 snapshots: publish macOS .dylib native libraries to Maven Central Snapshots (disabled in commit 5575854e68)
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-06-23 16:56:38 +02:00
Karl Tauber
0863e289a1 Table: add disabled icon for boolean renderer (issue #1008)
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17, ) (push) Has been cancelled
CI / build-on (21, ) (push) Has been cancelled
CI / build-on (23, ) (push) Has been cancelled
CI / build-on (8, ) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
2025-06-20 19:56:24 +02:00