Sponsor FlatLaf

Thanks for your interest in sponsoring FlatLaf.

Developing and supporting FlatLaf as open-source project is a costly undertaking. Since the start of development in 2019, we've spent nearly 5000 hours working on FlatLaf. Almost completely financed by FormDev Software GmbH and its JFormDesigner customers. But now, we need your help.

If your company is using FlatLaf, please sponsor FlatLaf to ensure further development. Thank you.

If you're using FlatLaf to build a revenue-generating product, it makes business sense to sponsor FlatLaf's development to ensure that the project that your product relies on stays healthy and actively maintained.

Bronze
500$500
  Silver
1000$1000
  Gold
2500$2500
  Platinum
5000$5000
  EUR USD

One-time payment. Prices are without VAT/sales tax. You receive an invoice.

Backer (for individuals)

10$10   20$20   50$50   100$100   EUR USD

One-time payment. Prices are without VAT/sales tax. You receive an invoice.

What do I get for my sponsorship?

  • Primary support.
  • Quick fixes and FlatLaf patch releases to keep your product/project up and running.
  • Implementation of new features.
  • If you want, your company/product logo on FlatLaf home page (and on this page) with a link to your site.
    Platinum and Gold sponsors: Prominent logo placement in sidebar on all FlatLaf content pages and in GitHub README.
  • Backers: If you want, your name in sidebar on this page (optionally with a link to your site).

Sponsor feature development

If you need a specific feature, then you can dedicate your sponsorship to that feature and help financing development and support of new features. (enter feature on order page in section "Additional Ordering Information")

Here is a list of some features:

Feature Description Estimated Cost
Light/dark switching
(Windows 10/11)
Auto-switch between dark and light themes on Windows 10/11. Add API to access operating system theme information (light/dark, accent color, etc) and allow listening to changes. (issue #204; suggested API)
(requires new native code in existing Windows native library)
1000$1000
0 % reached
Light/dark switching
(macOS)
Auto-switch between dark and light themes on macOS. Add API to access operating system theme information (light/dark, accent/highlight color, etc) and allow listening to changes. (issue #204; suggested API)
(takes longer than on Windows 10/11 because a new macOS native library needs to be implemented)
3500$3500
0 % reached
System file chooser
(Windows 10/11)
Add new API to use native Windows 10/11 file chooser. The same API can be used on macOS to open AWT file chooser, which opens native macOS file chooser. Linux behavior TBD. This does not change JFileChooser. (issue #100, suggested API)
(requires new native code in existing Windows native library)
1500$1500
66 % reached
Extended file chooser Implement a new Swing UI for JFileChooser that looks more similar to operating system file chooser (e.g. Windows 10/11), that is themeable and provides better usability. (issue #100 and PR #522) 5000$5000
0 % reached
Toggle Switch component Implement highly customizable and animated toggle switch icon for JToggleButton (and JCheckBox). (issue #135) 800$800
0 % reached
Windows 11 themes Implement light and dark themes that look similar to Windows 11. https://learn.microsoft.com/en-us/windows/apps/design/controls/ 4000$4000
0 % reached
Gnome themes Implement light and dark themes that look similar to Gnome. https://developer.gnome.org/hig/patterns/controls.html 3200$3200
0 % reached
Material themes Implement light and dark Material Design themes https://m3.material.io/ 6000$6000
0 % reached
Improve scroll bar

Improve scroll bar customizing to support more styles. E.g.:

  • Windows 11 style, which hides arrow buttons and makes track smaller if not hovered (issue #418).
  • Make (visible) width of track smaller if not hovered (similar to Firefox scroll bars).
  • Support arrow hover/pressed colors and disabling arrow buttons (issue #503).
800$800
0 % reached
EUR USD

System Theming

Suggested API:

/**
 * Gives access to system theme information (light/dark, accent color, etc)
 * and allows listening to changes.
 */
public class SystemTheming
{
    /** Returns whether supported on current operating system and CPU architecture. */
    public static boolean isSupportedPlatform()

    /** Returns whether the operating system theme is dark. */
    public static boolean isDarkMode()

    /** Returns the operating system theme accent color, or null. */
    public static Color getAccentColor()

    /** Returns the macOS operating system theme highlight color, or null. */
    public static Color getHighlightColor()

    /** Adds a listener. Will be invoked on AWT thread. */
    public static void addListener( Listener l )

    /** Removes the listener. */
    public static void removeListener( Listener l )

    /** The listener interface for receiving system theme change events. */
    public interface Listener {
        public void systemThemeChanged( Event e );
    }

    /** A event that indicates that the system theme has changed. */
    public static class Event {
        public boolean isDarkMode()
        public Color getAccentColor()
    }
}

Usage:

// setup application look and feel
if( SystemTheming.isDarkMode() )
    FlatDarkLaf.setup();
else
    FlatLightLaf.setup();

// update application look and feel on OS changes 
SystemTheming.addListener( e -> {
    if( e.isDarkMode() )
        FlatDarkLaf.setup();
    else
        FlatLightLaf.setup();
    FlatLaf.updateUI();
} );

// create UI ...

System File Chooser

Suggested API:

/**
 * Gives access to system file chooser.
 */
public class SystemFileChooser
{
    /** Returns whether supported on current operating system and CPU architecture. */
    public static boolean isSupportedPlatform()

    TBD
}

Usage:

TBD