1836 Commits

Author SHA1 Message Date
Karl Tauber
c995b4cbdf Merge PR #1074: Recalculate geometry after styling in FlatSliderUI 2026-01-13 20:03:54 +01:00
Karl Tauber
ea2a985481 ToolBar: do not change floatable if it was changed from application code (issue #1075) 2026-01-13 12:35:49 +01:00
daWoife
7e6dc269c5 Recalculate geometry after styling in FlatSliderUI 2025-12-31 11:28:41 +01:00
Karl Tauber
7680c3a817 ComboBox: added UI property ComboBox.buttonFocusedEditableBackground (issue #1068) 2025-12-30 17:36:06 +01:00
Karl Tauber
0e3cb95791 Popup: fixed scrolling popup painting issue on Windows 10 when a glass pane is visible and frame is maximized (issue #1071) 2025-12-30 13:36:09 +01:00
Karl Tauber
3f0b5d5a0e release 3.7 2025-12-04 12:13:56 +01:00
Karl Tauber
6e3633cca3 System File Chooser: save and restore size of (fallback) JFileChooser dialog (PR #988) 2025-12-04 11:36:02 +01:00
Karl Tauber
4f1e5cdb05 IntelliJ Themes: do not release JSON memory to allow re-using theme instance (issue #1020) 2025-12-03 19:13:07 +01:00
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)
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) 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)
- 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 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
- 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() 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 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:
- 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 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) 2025-10-22 14:18:40 +02:00
Karl Tauber
36d5685f4c release 3.6.2 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) 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 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)
(did not yet happen...)
2025-07-12 16:28:49 +02:00