MCPcopy Index your code
hub / github.com/JFormDesigner/FlatLaf

github.com/JFormDesigner/FlatLaf @3.7.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.7.1 ↗ · + Follow
6,629 symbols 21,577 edges 498 files 1,592 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FlatLaf - Flat Look and Feel

FlatLaf is a modern open-source cross-platform Look and Feel for Java Swing desktop applications.

It looks almost flat (no shadows or gradients), clean, simple and elegant. FlatLaf comes with Light, Dark, IntelliJ and Darcula themes, scales on HiDPI displays and runs on Java 8 or newer (LTS and latest).

The look is heavily inspired by Darcula and IntelliJ themes from IntelliJ IDEA 2019.2+ and uses almost the same colors and icons.

FlatLaf Light

FlatLaf Dark

macOS Themes

FlatLaf macOS themes

IntelliJ Platform Themes

FlatLaf can use 3rd party themes created for IntelliJ Platform (see IntelliJ Themes Pack):

IntelliJ Platform Themes

Sponsors

Current Sponsors

SOPTIM         Exocharts

Become a Sponsor

Previous Sponsors

ej-technologies         DbVisualizer         DSC Software AG

Demo

Download Demo

Run demo with java -jar flatlaf-demo-<version>.jar (or double-click it). Requires Java 8 or newer.

Download

FlatLaf binaries are available on Maven Central.

If you use Maven or Gradle, add a dependency with following coordinates to your build script:

groupId:     com.formdev
artifactId:  flatlaf
version:     (see button below)

Otherwise, download flatlaf-<version>.jar here:

Maven Central

  • See Native Libraries distribution for instructions on how to redistribute FlatLaf native libraries with your application.
  • Windows DLLs: Free code signing provided by SignPath.io, certificate by SignPath Foundation.
  • If repackaging FlatLaf (and other) JARs into a single fat/uber JAR:
  • add Multi-Release: true to META-INF/MANIFEST.MF
  • keep META-INF/versions/ and META-INF/services/ directories
  • merge content of equally named files in META-INF/services/
  • If using obfuscation/minimizing/shrinking tools (e.g. ProGuard or Shadow), exclude package com.formdev.flatlaf and all sub-packages.

Snapshots

FlatLaf snapshot binaries are available on Sonatype Central. To access the latest snapshot, change the FlatLaf version in your dependencies to <version>-SNAPSHOT (e.g. 3.7-SNAPSHOT) and add the repository https://central.sonatype.com/repository/maven-snapshots/ to your build (see Maven and Gradle docs).

Addons

  • IntelliJ Themes Pack - bundles many popular open-source 3rd party themes
  • Extras - SVG icon, tri-state check box, UI inspectors, and more
  • SwingX - support for SwingX components
  • JIDE Common Layer - support for JIDE Common Layer components
  • Fonts - some font families bundled in easy-to-use and redistributable JARs

Getting started

To use FlatLaf, add following code to your main method before you create any Swing component:

FlatLightLaf.setup();

// create UI here...

Documentation

For more information and documentation visit FlatLaf Home:

Theme Editor

The Theme Editor that supports editing FlatLaf theme properties files. See Theme Editor documentation for details and downloads.

Theme Editor

Buzz

Applications using FlatLaf

Featured

  • Sponsor JFormDesigner (commercial) - Java/Swing GUI Designer (from the FlatLaf creators)
  • Sponsor JProfiler (commercial) - the award-winning all-in-one Java profiler
  • Sponsor install4j (commercial) - the powerful multi-platform Java installer builder
  • Sponsor DbVisualizer (commercial) - the universal database tool for developers, analysts and DBAs
  • Hot Apache NetBeans - IDE for Java, PHP, HTML and much more
  • Sponsor Thermo-Calc (commercial) - Thermodynamics and Properties Software

Data

  • Hot Ultorg (commercial) - a visual query system for relational databases
  • Jailer - database subsetting and relational data browsing tool
  • Hot MagicPlot (commercial) - Software for nonlinear fitting, plotting and data analysis
  • Constellation - Data Visualization and Analytics (based on NetBeans platform)
  • Kafka Visualizer - Kafka GUI client
  • New RedisFront - Cross-platform redis GUI
  • New Zettelkasten - knowledge management tool
  • New QStudio - free SQL editor

Security

Software Development

Electrical

Media

Modelling / Planning

  • New OpenRocket - model-rocketry aerodynamics and trajectory simulation software
  • New Warteschlangensimulator - discrete-event stochastic simulator
  • New Gephi - the Open Graph Viz Platform
  • Astah (commercial) - create UML, ER Diagram, Flowchart, Data Flow Diagram, Requirement Diagram, SysML diagrams and more
  • IGMAS+ - Interactive Gravity and Magnetic Application System
  • New StarPlan (commercial) - die Stundenplan Software für Bildungseinrichtungen
  • New SSPlot - plotting utility for plotting CSV data

Documents

Geo

Extension points exported contracts — how you extend this code

StyleableUI (Interface)
@since 2 [66 implementers]
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatStylingSupport.java
FlatComponentExtension (Interface)
Base interface for all FlatLaf component extensions. Extensions use client properties to store property values in compon [17 …
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatComponentExtension.java
InjectedOps (Interface)
(no doc)
flatlaf-testing/flatlaf-testing-modular-app/build.gradle.kts
InjectedOps (Interface)
(no doc)
flatlaf-natives/flatlaf-natives-macos/build.gradle.kts
InjectedOps (Interface)
(no doc)
flatlaf-natives/flatlaf-natives-windows/build.gradle.kts
InjectedOps (Interface)
(no doc)
flatlaf-natives/flatlaf-natives-linux/build.gradle.kts
StyleableObject (Interface)
An object that implements this interface is intended to support FlatLaf styling. @since 3.7 [48 implementers]
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatStylingSupport.java
FlatStyleableComponent (Interface)
Interface for all styleable FlatLaf components. If you already have custom subclasses of Swing components, you can a [34 …
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatStyleableComponent.java

Core symbols most depended-on inside this repo

putClientProperty
called by 690
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatComponentExtension.java
add
called by 576
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatSVGIcon.java
put
called by 510
flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemFileChooser.java
getColor
called by 435
flatlaf-core/src/main/java/com/formdev/flatlaf/util/Graphics2DProxy.java
scale
called by 338
flatlaf-core/src/main/java/com/formdev/flatlaf/util/UIScale.java
get
called by 335
flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemFileChooser.java
setSelected
called by 267
flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTriStateCheckBox.java
setColor
called by 211
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSliderUI.java

Shape

Method 5,796
Class 718
Function 51
Interface 38
Enum 26

Languages

Java98%
C++2%
Kotlin1%

Modules by API surface

flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java230 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/util/SystemFileChooser.java118 symbols
flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatComponents2Test.java103 symbols
flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyleableValue.java95 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java89 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatUIUtils.java87 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTitlePane.java84 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java79 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java76 symbols
flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.java72 symbols
flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java67 symbols
flatlaf-core/src/main/java/com/formdev/flatlaf/util/Graphics2DProxy.java67 symbols

For agents

$ claude mcp add FlatLaf \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact