From 37dab9fb2216a42f5f9052ede4653cd24438afe1 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 12 Jul 2021 11:48:34 +0200 Subject: [PATCH 01/81] TabbedPane: fixed rendering of tab separators in scroll layout if scaled on HiDPI screens --- .../java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java index c4f79435..906eb9e5 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java @@ -842,6 +842,17 @@ public class FlatTabbedPaneUI paintTabArea( g, tabPlacement, selectedIndex ); } + @Override + protected void paintTabArea( Graphics g, int tabPlacement, int selectedIndex ) { + // need to set rendering hints here too because this method is also invoked + // from BasicTabbedPaneUI.ScrollableTabPanel.paintComponent() + Object[] oldHints = FlatUIUtils.setRenderingHints( g ); + + super.paintTabArea( g, tabPlacement, selectedIndex ); + + FlatUIUtils.resetRenderingHints( g, oldHints ); + } + @Override protected void paintTab( Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect ) From b0997fb5d2f795e00509d63618a8594107813178 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 13 Jul 2021 11:02:10 +0200 Subject: [PATCH 02/81] release 1.4 --- CHANGELOG.md | 2 +- build.gradle.kts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dd68d6d0..b2191fc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ FlatLaf Change Log ================== -## 1.4-SNAPSHOT +## 1.4 #### New features and improvements diff --git a/build.gradle.kts b/build.gradle.kts index 4537b107..b7383d91 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,8 +14,8 @@ * limitations under the License. */ -val releaseVersion = "1.3" -val developmentVersion = "1.4-SNAPSHOT" +val releaseVersion = "1.4" +val developmentVersion = "1.5-SNAPSHOT" version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion From ca7f5045ae9b2b3260ca1b029f23c8b6c60853cd Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 29 Jul 2021 15:39:16 +0200 Subject: [PATCH 03/81] Popup: fixed incorrectly placed drop shadow for medium-weight popups in maximized windows (issue #358) --- CHANGELOG.md | 6 + .../formdev/flatlaf/ui/FlatPopupFactory.java | 25 +- .../flatlaf/testing/FlatPopupTest.java | 361 ++++++++++++++++++ .../formdev/flatlaf/testing/FlatPopupTest.jfd | 206 ++++++++++ 4 files changed, 591 insertions(+), 7 deletions(-) create mode 100644 flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.java create mode 100644 flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.jfd diff --git a/CHANGELOG.md b/CHANGELOG.md index b2191fc4..87de3294 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ FlatLaf Change Log ================== +## 1.5-SNAPSHOT + +- Popup: Fixed incorrectly placed drop shadow for medium-weight popups in + maximized windows. (issue #358) + + ## 1.4 #### New features and improvements diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java index 374e5e6a..94c65fa9 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatPopupFactory.java @@ -489,6 +489,9 @@ public class FlatPopupFactory JLayeredPane layeredPane = ((RootPaneContainer)window).getLayeredPane(); layeredPane.add( dropShadowPanel, JLayeredPane.POPUP_LAYER, 0 ); + moveMediumWeightDropShadow(); + resizeMediumWeightDropShadow(); + mediumPanelListener = new ComponentListener() { @Override public void componentShown( ComponentEvent e ) { @@ -504,17 +507,12 @@ public class FlatPopupFactory @Override public void componentMoved( ComponentEvent e ) { - if( dropShadowPanel != null && mediumWeightPanel != null ) { - Point location = mediumWeightPanel.getLocation(); - Insets insets = dropShadowPanel.getInsets(); - dropShadowPanel.setLocation( location.x - insets.left, location.y - insets.top ); - } + moveMediumWeightDropShadow(); } @Override public void componentResized( ComponentEvent e ) { - if( dropShadowPanel != null ) - dropShadowPanel.setSize( FlatUIUtils.addInsets( mediumWeightPanel.getSize(), dropShadowPanel.getInsets() ) ); + resizeMediumWeightDropShadow(); } }; mediumWeightPanel.addComponentListener( mediumPanelListener ); @@ -530,5 +528,18 @@ public class FlatPopupFactory parent.repaint( bounds.x, bounds.y, bounds.width, bounds.height ); } } + + private void moveMediumWeightDropShadow() { + if( dropShadowPanel != null && mediumWeightPanel != null ) { + Point location = mediumWeightPanel.getLocation(); + Insets insets = dropShadowPanel.getInsets(); + dropShadowPanel.setLocation( location.x - insets.left, location.y - insets.top ); + } + } + + private void resizeMediumWeightDropShadow() { + if( dropShadowPanel != null && mediumWeightPanel != null ) + dropShadowPanel.setSize( FlatUIUtils.addInsets( mediumWeightPanel.getSize(), dropShadowPanel.getInsets() ) ); + } } } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.java new file mode 100644 index 00000000..05788bc9 --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.java @@ -0,0 +1,361 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.testing; + +import java.awt.*; +import java.awt.Point; +import javax.swing.*; +import com.formdev.flatlaf.util.Animator; +import net.miginfocom.swing.*; + +/** + * @author Karl Tauber + */ +public class FlatPopupTest + extends FlatTestPanel +{ + private Popup popup; + + public static void main( String[] args ) { + SwingUtilities.invokeLater( () -> { + FlatTestFrame frame = FlatTestFrame.create( args, "FlatPopupTest" ); + frame.showFrame( FlatPopupTest::new ); + } ); + } + + FlatPopupTest() { + initComponents(); + } + + private void showPopupMenu() { + popupMenu1.show( showPopupMenuButton, 0, showPopupMenuButton.getHeight() ); + } + + private void showLargePopupMenu() { + popupMenu2.show( showLargePopupMenuButton, 0, showLargePopupMenuButton.getHeight() ); + } + + private void showPopup() { + showPopup( 0, 0 ); + } + + private void showPopup( int xoffset, int yoffset ) { + hidePopup(); + + Point pt = showPopupButton.getLocationOnScreen(); + popup = PopupFactory.getSharedInstance().getPopup( showPopupButton, popupPanel, + pt.x + xoffset, pt.y + showPopupButton.getHeight() + yoffset ); + popup.show(); + } + + private void hidePopup() { + if( popup == null ) + return; + + popup.hide(); + popup = null; + } + + private void movePopupDown() { + movePopup( 0, 600 ); + } + + private void movePopupRight() { + movePopup( 600, 0 ); + } + + private void movePopup( int xoffset, int yoffset ) { + showPopup(); + + Animator animator = new Animator( 1000, fraction -> { + System.out.println(fraction); + showPopup( (int) (fraction * xoffset), (int) (fraction * yoffset) ); + } ); + animator.start(); + } + + private void initComponents() { + // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents + label1 = new JLabel(); + label2 = new JLabel(); + showPopupMenuButton = new JButton(); + showLargePopupMenuButton = new JButton(); + showPopupButton = new JButton(); + hidePopupButton = new JButton(); + movePopupDownButton = new JButton(); + movePopuprightButton = new JButton(); + label4 = new JLabel(); + popupMenu1 = new JPopupMenu(); + menuItem1 = new JMenuItem(); + menuItem2 = new JMenuItem(); + menu1 = new JMenu(); + menuItem3 = new JMenuItem(); + menuItem4 = new JMenuItem(); + popupPanel = new JPanel(); + label3 = new JLabel(); + popupMenu2 = new JPopupMenu(); + menuItem5 = new JMenuItem(); + menuItem6 = new JMenuItem(); + menuItem7 = new JMenuItem(); + menuItem8 = new JMenuItem(); + menuItem9 = new JMenuItem(); + menuItem10 = new JMenuItem(); + menuItem11 = new JMenuItem(); + menuItem12 = new JMenuItem(); + menuItem13 = new JMenuItem(); + menuItem14 = new JMenuItem(); + menuItem15 = new JMenuItem(); + menuItem16 = new JMenuItem(); + menuItem17 = new JMenuItem(); + menuItem18 = new JMenuItem(); + menuItem19 = new JMenuItem(); + menuItem20 = new JMenuItem(); + menuItem21 = new JMenuItem(); + menu2 = new JMenu(); + menuItem22 = new JMenuItem(); + menuItem23 = new JMenuItem(); + + //======== this ======== + setLayout(new MigLayout( + "ltr,insets dialog,hidemode 3", + // columns + "[fill]" + + "[fill]" + + "[fill]" + + "[fill]", + // rows + "[]" + + "[]" + + "[]" + + "[]" + + "[]" + + "[]")); + + //---- label1 ---- + label1.setText("Label with light-weight tooltip"); + label1.setToolTipText("some tip"); + add(label1, "cell 0 0"); + + //---- label2 ---- + label2.setText("Label with heavy-weight tooltip"); + label2.setToolTipText("some tip\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25"); + add(label2, "cell 0 1"); + + //---- showPopupMenuButton ---- + showPopupMenuButton.setText("show light-weight JPopupMenu"); + showPopupMenuButton.addActionListener(e -> showPopupMenu()); + add(showPopupMenuButton, "cell 0 2"); + + //---- showLargePopupMenuButton ---- + showLargePopupMenuButton.setText("show heavy-weight JPopupMenu"); + showLargePopupMenuButton.addActionListener(e -> showLargePopupMenu()); + add(showLargePopupMenuButton, "cell 0 3"); + + //---- showPopupButton ---- + showPopupButton.setText("show medium-weight popup"); + showPopupButton.addActionListener(e -> showPopup()); + add(showPopupButton, "cell 0 4"); + + //---- hidePopupButton ---- + hidePopupButton.setText("hide"); + hidePopupButton.addActionListener(e -> hidePopup()); + add(hidePopupButton, "cell 1 4"); + + //---- movePopupDownButton ---- + movePopupDownButton.setText("move down"); + movePopupDownButton.addActionListener(e -> movePopupDown()); + add(movePopupDownButton, "cell 2 4"); + + //---- movePopuprightButton ---- + movePopuprightButton.setText("move right"); + movePopuprightButton.addActionListener(e -> movePopupRight()); + add(movePopuprightButton, "cell 3 4"); + + //---- label4 ---- + label4.setText("(switches to heavy-weight when moving outside of window)"); + add(label4, "cell 0 5 4 1,alignx right,growx 0"); + + //======== popupMenu1 ======== + { + + //---- menuItem1 ---- + menuItem1.setText("text"); + popupMenu1.add(menuItem1); + + //---- menuItem2 ---- + menuItem2.setText("text"); + popupMenu1.add(menuItem2); + + //======== menu1 ======== + { + menu1.setText("text"); + + //---- menuItem3 ---- + menuItem3.setText("text"); + menu1.add(menuItem3); + + //---- menuItem4 ---- + menuItem4.setText("text"); + menu1.add(menuItem4); + } + popupMenu1.add(menu1); + } + + //======== popupPanel ======== + { + popupPanel.setBackground(new Color(153, 255, 153)); + popupPanel.setLayout(new MigLayout( + "hidemode 3", + // columns + "[fill]", + // rows + "[]")); + + //---- label3 ---- + label3.setText("popup"); + popupPanel.add(label3, "cell 0 0"); + } + + //======== popupMenu2 ======== + { + + //---- menuItem5 ---- + menuItem5.setText("text"); + popupMenu2.add(menuItem5); + + //---- menuItem6 ---- + menuItem6.setText("text"); + popupMenu2.add(menuItem6); + + //---- menuItem7 ---- + menuItem7.setText("text"); + popupMenu2.add(menuItem7); + + //---- menuItem8 ---- + menuItem8.setText("text"); + popupMenu2.add(menuItem8); + + //---- menuItem9 ---- + menuItem9.setText("text"); + popupMenu2.add(menuItem9); + + //---- menuItem10 ---- + menuItem10.setText("text"); + popupMenu2.add(menuItem10); + + //---- menuItem11 ---- + menuItem11.setText("text"); + popupMenu2.add(menuItem11); + + //---- menuItem12 ---- + menuItem12.setText("text"); + popupMenu2.add(menuItem12); + + //---- menuItem13 ---- + menuItem13.setText("text"); + popupMenu2.add(menuItem13); + + //---- menuItem14 ---- + menuItem14.setText("text"); + popupMenu2.add(menuItem14); + + //---- menuItem15 ---- + menuItem15.setText("text"); + popupMenu2.add(menuItem15); + + //---- menuItem16 ---- + menuItem16.setText("text"); + popupMenu2.add(menuItem16); + + //---- menuItem17 ---- + menuItem17.setText("text"); + popupMenu2.add(menuItem17); + + //---- menuItem18 ---- + menuItem18.setText("text"); + popupMenu2.add(menuItem18); + + //---- menuItem19 ---- + menuItem19.setText("text"); + popupMenu2.add(menuItem19); + + //---- menuItem20 ---- + menuItem20.setText("text"); + popupMenu2.add(menuItem20); + + //---- menuItem21 ---- + menuItem21.setText("text"); + popupMenu2.add(menuItem21); + + //======== menu2 ======== + { + menu2.setText("text"); + + //---- menuItem22 ---- + menuItem22.setText("text"); + menu2.add(menuItem22); + + //---- menuItem23 ---- + menuItem23.setText("text"); + menu2.add(menuItem23); + } + popupMenu2.add(menu2); + } + // JFormDesigner - End of component initialization //GEN-END:initComponents + } + + // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables + private JLabel label1; + private JLabel label2; + private JButton showPopupMenuButton; + private JButton showLargePopupMenuButton; + private JButton showPopupButton; + private JButton hidePopupButton; + private JButton movePopupDownButton; + private JButton movePopuprightButton; + private JLabel label4; + private JPopupMenu popupMenu1; + private JMenuItem menuItem1; + private JMenuItem menuItem2; + private JMenu menu1; + private JMenuItem menuItem3; + private JMenuItem menuItem4; + private JPanel popupPanel; + private JLabel label3; + private JPopupMenu popupMenu2; + private JMenuItem menuItem5; + private JMenuItem menuItem6; + private JMenuItem menuItem7; + private JMenuItem menuItem8; + private JMenuItem menuItem9; + private JMenuItem menuItem10; + private JMenuItem menuItem11; + private JMenuItem menuItem12; + private JMenuItem menuItem13; + private JMenuItem menuItem14; + private JMenuItem menuItem15; + private JMenuItem menuItem16; + private JMenuItem menuItem17; + private JMenuItem menuItem18; + private JMenuItem menuItem19; + private JMenuItem menuItem20; + private JMenuItem menuItem21; + private JMenu menu2; + private JMenuItem menuItem22; + private JMenuItem menuItem23; + // JFormDesigner - End of variables declaration //GEN-END:variables +} diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.jfd new file mode 100644 index 00000000..9b225101 --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatPopupTest.jfd @@ -0,0 +1,206 @@ +JFDML JFormDesigner: "7.0.4.0.360" Java: "16" encoding: "UTF-8" + +new FormModel { + contentType: "form/swing" + root: new FormRoot { + add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "ltr,insets dialog,hidemode 3" + "$columnConstraints": "[fill][fill][fill][fill]" + "$rowConstraints": "[][][][][][]" + } ) { + name: "this" + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label1" + "text": "Label with light-weight tooltip" + "toolTipText": "some tip" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label2" + "text": "Label with heavy-weight tooltip" + "toolTipText": "some tip\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 1" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "showPopupMenuButton" + "text": "show light-weight JPopupMenu" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showPopupMenu", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 2" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "showLargePopupMenuButton" + "text": "show heavy-weight JPopupMenu" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showLargePopupMenu", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 3" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "showPopupButton" + "text": "show medium-weight popup" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showPopup", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 4" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "hidePopupButton" + "text": "hide" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hidePopup", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 4" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "movePopupDownButton" + "text": "move down" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "movePopupDown", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 4" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "movePopuprightButton" + "text": "move right" + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "movePopupRight", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 3 4" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label4" + "text": "(switches to heavy-weight when moving outside of window)" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 5 4 1,alignx right,growx 0" + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 0, 0 ) + "size": new java.awt.Dimension( 490, 350 ) + } ) + add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) { + name: "popupMenu1" + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem1" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem2" + "text": "text" + } ) + add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "menu1" + "text": "text" + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem3" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem4" + "text": "text" + } ) + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 5, 395 ) + } ) + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "hidemode 3" + "$columnConstraints": "[fill]" + "$rowConstraints": "[]" + } ) { + name: "popupPanel" + "background": new java.awt.Color( 153, 255, 153, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label3" + "text": "popup" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0" + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 225, 395 ) + "size": new java.awt.Dimension( 200, 200 ) + } ) + add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) { + name: "popupMenu2" + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem5" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem6" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem7" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem8" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem9" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem10" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem11" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem12" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem13" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem14" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem15" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem16" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem17" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem18" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem19" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem20" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem21" + "text": "text" + } ) + add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "menu2" + "text": "text" + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem22" + "text": "text" + } ) + add( new FormComponent( "javax.swing.JMenuItem" ) { + name: "menuItem23" + "text": "text" + } ) + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 5, 505 ) + } ) + } +} From 60e5861de454f4a77c748dc317f023d7c197e06e Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 29 Jul 2021 16:44:50 +0200 Subject: [PATCH 04/81] InternalFrame: limit internal frame bounds to parent bounds on resize; honor maximum size of internal frame (issue #362) --- CHANGELOG.md | 2 + .../formdev/flatlaf/ui/FlatWindowResizer.java | 99 ++++++++++++++++--- .../testing/FlatInternalFrameTest.java | 31 +++++- .../flatlaf/testing/FlatInternalFrameTest.jfd | 24 +++-- 4 files changed, 134 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87de3294..34b03092 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ FlatLaf Change Log ## 1.5-SNAPSHOT +- InternalFrame: Limit internal frame bounds to parent bounds on resize. Also + honor maximum size of internal frame. (issue #362) - Popup: Fixed incorrectly placed drop shadow for medium-weight popups in maximized windows. (issue #358) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java index 22821b11..d6be28d1 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java @@ -181,8 +181,12 @@ public abstract class FlatWindowResizer protected abstract boolean isWindowResizable(); protected abstract Rectangle getWindowBounds(); protected abstract void setWindowBounds( Rectangle r ); + protected abstract boolean limitToParentBounds(); + protected abstract Rectangle getParentBounds(); protected abstract boolean honorMinimumSizeOnResize(); + protected abstract boolean honorMaximumSizeOnResize(); protected abstract Dimension getWindowMinimumSize(); + protected abstract Dimension getWindowMaximumSize(); protected void beginResizing( int direction ) {} protected void endResizing() {} @@ -283,6 +287,16 @@ public abstract class FlatWindowResizer } } + @Override + protected boolean limitToParentBounds() { + return false; + } + + @Override + protected Rectangle getParentBounds() { + return null; + } + @Override protected boolean honorMinimumSizeOnResize() { return @@ -290,11 +304,21 @@ public abstract class FlatWindowResizer (honorDialogMinimumSizeOnResize && window instanceof Dialog); } + @Override + protected boolean honorMaximumSizeOnResize() { + return false; + } + @Override protected Dimension getWindowMinimumSize() { return window.getMinimumSize(); } + @Override + protected Dimension getWindowMaximumSize() { + return window.getMaximumSize(); + } + @Override boolean isDialog() { return window instanceof Dialog; @@ -354,16 +378,36 @@ public abstract class FlatWindowResizer desktopManager.get().resizeFrame( getFrame(), r.x, r.y, r.width, r.height ); } + @Override + protected boolean limitToParentBounds() { + return true; + } + + @Override + protected Rectangle getParentBounds() { + return getFrame().getParent().getBounds(); + } + @Override protected boolean honorMinimumSizeOnResize() { return true; } + @Override + protected boolean honorMaximumSizeOnResize() { + return true; + } + @Override protected Dimension getWindowMinimumSize() { return getFrame().getMinimumSize(); } + @Override + protected Dimension getWindowMaximumSize() { + return getFrame().getMaximumSize(); + } + @Override protected void beginResizing( int direction ) { desktopManager.get().beginResizingFrame( getFrame(), direction ); @@ -521,7 +565,7 @@ debug*/ int xOnScreen = e.getXOnScreen(); int yOnScreen = e.getYOnScreen(); - // Get current window bounds and compute new bounds based them. + // Get current window bounds and compute new bounds based on them. // This is necessary because window manager may alter window bounds while resizing. // E.g. when having two monitors with different scale factors and resizing // a window on first screen to the second screen, then the window manager may @@ -535,41 +579,72 @@ debug*/ // top if( resizeDir == N_RESIZE_CURSOR || resizeDir == NW_RESIZE_CURSOR || resizeDir == NE_RESIZE_CURSOR ) { newBounds.y = yOnScreen - dragTopOffset; + if( limitToParentBounds() && newBounds.y < 0 ) + newBounds.y = 0; newBounds.height += (oldBounds.y - newBounds.y); } // bottom - if( resizeDir == S_RESIZE_CURSOR || resizeDir == SW_RESIZE_CURSOR || resizeDir == SE_RESIZE_CURSOR ) + if( resizeDir == S_RESIZE_CURSOR || resizeDir == SW_RESIZE_CURSOR || resizeDir == SE_RESIZE_CURSOR ) { newBounds.height = (yOnScreen + dragBottomOffset) - newBounds.y; + if( limitToParentBounds() ) { + int parentHeight = getParentBounds().height; + if( newBounds.y + newBounds.height > parentHeight ) + newBounds.height = parentHeight - newBounds.y; + } + } // left if( resizeDir == W_RESIZE_CURSOR || resizeDir == NW_RESIZE_CURSOR || resizeDir == SW_RESIZE_CURSOR ) { newBounds.x = xOnScreen - dragLeftOffset; + if( limitToParentBounds() && newBounds.x < 0 ) + newBounds.x = 0; newBounds.width += (oldBounds.x - newBounds.x); } // right - if( resizeDir == E_RESIZE_CURSOR || resizeDir == NE_RESIZE_CURSOR || resizeDir == SE_RESIZE_CURSOR ) + if( resizeDir == E_RESIZE_CURSOR || resizeDir == NE_RESIZE_CURSOR || resizeDir == SE_RESIZE_CURSOR ) { newBounds.width = (xOnScreen + dragRightOffset) - newBounds.x; + if( limitToParentBounds() ) { + int parentWidth = getParentBounds().width; + if( newBounds.x + newBounds.width > parentWidth ) + newBounds.width = parentWidth - newBounds.x; + } + } // apply minimum window size Dimension minimumSize = honorMinimumSizeOnResize() ? getWindowMinimumSize() : null; if( minimumSize == null ) minimumSize = UIScale.scale( new Dimension( 150, 50 ) ); - if( newBounds.width < minimumSize.width ) { - if( newBounds.x != oldBounds.x ) - newBounds.x -= (minimumSize.width - newBounds.width); - newBounds.width = minimumSize.width; - } - if( newBounds.height < minimumSize.height ) { - if( newBounds.y != oldBounds.y ) - newBounds.y -= (minimumSize.height - newBounds.height); - newBounds.height = minimumSize.height; + if( newBounds.width < minimumSize.width ) + changeWidth( oldBounds, newBounds, minimumSize.width ); + if( newBounds.height < minimumSize.height ) + changeHeight( oldBounds, newBounds, minimumSize.height ); + + // apply maximum window size + if( honorMaximumSizeOnResize() ) { + Dimension maximumSize = getWindowMaximumSize(); + if( newBounds.width > maximumSize.width ) + changeWidth( oldBounds, newBounds, maximumSize.width ); + if( newBounds.height > maximumSize.height ) + changeHeight( oldBounds, newBounds, maximumSize.height ); } // set window bounds if( !newBounds.equals( oldBounds ) ) setWindowBounds( newBounds ); } + + private void changeWidth( Rectangle oldBounds, Rectangle newBounds, int width ) { + if( newBounds.x != oldBounds.x ) + newBounds.x -= (width - newBounds.width); + newBounds.width = width; + } + + private void changeHeight( Rectangle oldBounds, Rectangle newBounds, int height ) { + if( newBounds.y != oldBounds.y ) + newBounds.y -= (height - newBounds.height); + newBounds.height = height; + } } } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java index 5ebe5c84..75a328ae 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java @@ -89,6 +89,15 @@ public class FlatInternalFrameTest }; internalFrame.setContentPane( panel ); + if( minSizeCheckBox.isSelected() ) { + internalFrame.setMinimumSize( new Dimension( 300, 150 ) ); + panel.add( new JLabel( "min 300,150" ) ); + } + if( maxSizeCheckBox.isSelected() ) { + internalFrame.setMaximumSize( new Dimension( 400, 200 ) ); + panel.add( new JLabel( "max 400,200" ) ); + } + if( !palette.getComponentOrientation().isLeftToRight() ) internalFrame.setComponentOrientation( ComponentOrientation.RIGHT_TO_LEFT ); @@ -123,6 +132,8 @@ public class FlatInternalFrameTest maximizableCheckBox = new JCheckBox(); iconCheckBox = new FlatTriStateCheckBox(); menuBarCheckBox = new JCheckBox(); + minSizeCheckBox = new JCheckBox(); + maxSizeCheckBox = new JCheckBox(); titleLabel = new JLabel(); titleField = new JTextField(); createFrameButton = new JButton(); @@ -158,6 +169,8 @@ public class FlatInternalFrameTest "[fill]0" + "[]0" + "[]0" + + "[]0" + + "[]0" + "[]unrel" + "[]unrel")); @@ -189,18 +202,26 @@ public class FlatInternalFrameTest menuBarCheckBox.setText("Menu Bar"); paletteContentPane.add(menuBarCheckBox, "cell 1 2"); + //---- minSizeCheckBox ---- + minSizeCheckBox.setText("Minimum size 300,150"); + paletteContentPane.add(minSizeCheckBox, "cell 0 3 2 1,alignx left,growx 0"); + + //---- maxSizeCheckBox ---- + maxSizeCheckBox.setText("Maximum size 400,200"); + paletteContentPane.add(maxSizeCheckBox, "cell 0 4 2 1,alignx left,growx 0"); + //---- titleLabel ---- titleLabel.setText("Frame title:"); - paletteContentPane.add(titleLabel, "cell 0 3"); - paletteContentPane.add(titleField, "cell 1 3"); + paletteContentPane.add(titleLabel, "cell 0 5"); + paletteContentPane.add(titleField, "cell 1 5"); //---- createFrameButton ---- createFrameButton.setText("Create Frame"); createFrameButton.addActionListener(e -> createInternalFrame()); - paletteContentPane.add(createFrameButton, "cell 1 4,alignx right,growx 0"); + paletteContentPane.add(createFrameButton, "cell 1 6,alignx right,growx 0"); } desktopPane.add(palette, JLayeredPane.PALETTE_LAYER); - palette.setBounds(15, 25, 275, 185); + palette.setBounds(15, 25, 275, 275); } add(desktopPane, "cell 0 0,width 600,height 600"); @@ -234,6 +255,8 @@ public class FlatInternalFrameTest private JCheckBox maximizableCheckBox; private FlatTriStateCheckBox iconCheckBox; private JCheckBox menuBarCheckBox; + private JCheckBox minSizeCheckBox; + private JCheckBox maxSizeCheckBox; private JLabel titleLabel; private JTextField titleField; private JButton createFrameButton; diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.jfd index 34cb827d..c35083f0 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.3.1.342" Java: "16" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.4.0.360" Java: "16" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -14,7 +14,7 @@ new FormModel { add( new FormContainer( "javax.swing.JInternalFrame", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "hidemode 3" "$columnConstraints": "[fill][fill]" - "$rowConstraints": "[fill]0[]0[]0[]unrel[]unrel" + "$rowConstraints": "[fill]0[]0[]0[]0[]0[]unrel[]unrel" } ) { name: "palette" "visible": true @@ -62,29 +62,41 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "minSizeCheckBox" + "text": "Minimum size 300,150" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 3 2 1,alignx left,growx 0" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "maxSizeCheckBox" + "text": "Maximum size 400,200" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 4 2 1,alignx left,growx 0" + } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "titleLabel" "text": "Frame title:" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 3" + "value": "cell 0 5" } ) add( new FormComponent( "javax.swing.JTextField" ) { name: "titleField" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 3" + "value": "cell 1 5" } ) add( new FormComponent( "javax.swing.JButton" ) { name: "createFrameButton" "text": "Create Frame" addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "createInternalFrame", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 4,alignx right,growx 0" + "value": "cell 1 6,alignx right,growx 0" } ) }, new FormLayoutConstraints( null ) { "x": 15 "y": 25 "width": 275 - "height": 185 + "height": 275 "layer": 100 } ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { From d3e39a13595e6e1563d944902d647dc94c6c24a4 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Fri, 30 Jul 2021 23:06:09 +0200 Subject: [PATCH 05/81] Native window decorations: fixed occasional application crash on Windows 10 in `flatlaf-windows.dll` (issue #357) --- CHANGELOG.md | 4 ++++ .../flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 34b03092..1ab214e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,14 @@ FlatLaf Change Log ## 1.5-SNAPSHOT +#### Fixed bugs + - InternalFrame: Limit internal frame bounds to parent bounds on resize. Also honor maximum size of internal frame. (issue #362) - Popup: Fixed incorrectly placed drop shadow for medium-weight popups in maximized windows. (issue #358) +- Native window decorations: Fixed occasional application crash on Windows 10 in + `flatlaf-windows.dll`. (issue #357) ## 1.4 diff --git a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp index 5708b1a0..e34dbdee 100644 --- a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp +++ b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp @@ -176,6 +176,8 @@ void FlatWndProc::updateFrame( HWND hwnd, int state ) { LRESULT CALLBACK FlatWndProc::StaticWindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { FlatWndProc* fwp = (FlatWndProc*) hwndMap->get( hwnd ); + if( fwp == NULL ) + return 0; return fwp->WindowProc( hwnd, uMsg, wParam, lParam ); } From 4ab90065dc94be5f8861848f4d55d5c2569e7c94 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 31 Jul 2021 18:02:10 +0200 Subject: [PATCH 06/81] Native window decorations: when resizing a window to the right or to the bottom, then first fill the new space with the window background color (instead of black) before the layout is updated (issue #339) --- CHANGELOG.md | 9 ++-- .../ui/FlatWindowsNativeWindowBorder.java | 21 ++++++++ .../FlatWindowsNativeWindowBorder.java | 53 ++++++++++++++++++- .../flatlaf-natives-windows/build.gradle.kts | 4 +- .../src/main/cpp/FlatWndProc.cpp | 18 +++++++ .../src/main/cpp/FlatWndProc.h | 1 + ...ui_FlatWindowsNativeWindowBorder_WndProc.h | 8 +++ 7 files changed, 108 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ab214e2..e5c6f26d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,11 @@ FlatLaf Change Log honor maximum size of internal frame. (issue #362) - Popup: Fixed incorrectly placed drop shadow for medium-weight popups in maximized windows. (issue #358) -- Native window decorations: Fixed occasional application crash on Windows 10 in - `flatlaf-windows.dll`. (issue #357) +- Native window decorations (Windows 10 only): + - Fixed occasional application crash in `flatlaf-windows.dll`. (issue #357) + - When resizing a window to the right or to the bottom, then first fill the + new space with the window background color (instead of black) before the + layout is updated. ## 1.4 @@ -25,7 +28,7 @@ FlatLaf Change Log - Table and PopupFactory: Use `StackWalker` in Java 9+ for better performance. (issue #334) - ToolBar: Paint focus indicator for focused button in toolbar. (issue #346) -- ToolBar: Support focusable buttons in toolbar (set UI values +- ToolBar: Support focusable buttons in toolbar (set UI value `ToolBar.focusableButtons` to `true`). (issue #346) #### Fixed bugs diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java index 458877bd..9bcca253 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowsNativeWindowBorder.java @@ -25,6 +25,8 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Window; import java.awt.geom.AffineTransform; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.Collections; import java.util.IdentityHashMap; import java.util.List; @@ -289,6 +291,7 @@ class FlatWindowsNativeWindowBorder //---- class WndProc ------------------------------------------------------ private class WndProc + implements PropertyChangeListener { // WM_NCHITTEST mouse position codes private static final int @@ -313,18 +316,36 @@ class FlatWindowsNativeWindowBorder // remove the OS window title bar updateFrame( hwnd, (window instanceof JFrame) ? ((JFrame)window).getExtendedState() : 0 ); + + // set window background (used when resizing window) + updateWindowBackground(); + window.addPropertyChangeListener( "background", this ); } void uninstall() { + window.removePropertyChangeListener( "background", this ); + uninstallImpl( hwnd ); // cleanup window = null; } + @Override + public void propertyChange( PropertyChangeEvent e ) { + updateWindowBackground(); + } + + private void updateWindowBackground() { + Color bg = window.getBackground(); + if( bg != null ) + setWindowBackground( hwnd, bg.getRed(), bg.getGreen(), bg.getBlue() ); + } + private native long installImpl( Window window ); private native void uninstallImpl( long hwnd ); private native void updateFrame( long hwnd, int state ); + private native void setWindowBackground( long hwnd, int r, int g, int b ); private native void showWindow( long hwnd, int cmd ); // invoked from native code diff --git a/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java b/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java index 148c204e..c0483051 100644 --- a/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java +++ b/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java @@ -28,6 +28,8 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Window; import java.awt.geom.AffineTransform; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.util.Collections; import java.util.IdentityHashMap; import java.util.List; @@ -47,6 +49,7 @@ import com.sun.jna.Structure.FieldOrder; import com.sun.jna.platform.win32.Advapi32Util; import com.sun.jna.platform.win32.BaseTSD; import com.sun.jna.platform.win32.BaseTSD.ULONG_PTR; +import com.sun.jna.platform.win32.GDI32; import com.sun.jna.platform.win32.Shell32; import com.sun.jna.platform.win32.User32; import com.sun.jna.platform.win32.WTypes.LPWSTR; @@ -57,6 +60,7 @@ import com.sun.jna.platform.win32.WinDef.LRESULT; import com.sun.jna.platform.win32.WinDef.RECT; import com.sun.jna.platform.win32.WinDef.UINT_PTR; import com.sun.jna.platform.win32.WinDef.WPARAM; +import com.sun.jna.platform.win32.WinNT.HANDLE; import com.sun.jna.platform.win32.WinUser.HMONITOR; import com.sun.jna.platform.win32.WinUser.WindowProc; import com.sun.jna.win32.W32APIOptions; @@ -282,7 +286,7 @@ public class FlatWindowsNativeWindowBorder //---- class WndProc ------------------------------------------------------ private class WndProc - implements WindowProc + implements WindowProc, PropertyChangeListener { private static final int GWLP_WNDPROC = -4; @@ -345,9 +349,15 @@ public class FlatWindowsNativeWindowBorder // remove the OS window title bar updateFrame( (window instanceof JFrame) ? ((JFrame)window).getExtendedState() : 0 ); + + // set window background (used when resizing window) + updateWindowBackground(); + window.addPropertyChangeListener( "background", this ); } void uninstall() { + window.removePropertyChangeListener( "background", this ); + // restore original window procedure if( SystemInfo.isX86_64 ) User32Ex.INSTANCE.SetWindowLongPtr( hwnd, GWLP_WNDPROC, defaultWndProc ); @@ -382,6 +392,28 @@ public class FlatWindowsNativeWindowBorder wmSizeWParam = -1; } + @Override + public void propertyChange( PropertyChangeEvent evt ) { + updateWindowBackground(); + } + + private void updateWindowBackground() { + Color bg = window.getBackground(); + if( bg != null ) + setWindowBackground( bg.getRed(), bg.getGreen(), bg.getBlue() ); + } + + private void setWindowBackground( int r, int g, int b ) { + // delete old background brush + ULONG_PTR oldBrush = User32.INSTANCE.GetClassLongPtr( hwnd, GCLP_HBRBACKGROUND ); + if( oldBrush != null && oldBrush.longValue() != 0 ) + GDI32.INSTANCE.DeleteObject( new HANDLE( oldBrush.toPointer() ) ); + + // create new background brush + HBRUSH brush = GDI32Ex.INSTANCE.CreateSolidBrush( RGB( r, g, b ) ); + User32Ex.INSTANCE.SetClassLongPtr( hwnd, GCLP_HBRBACKGROUND, brush ); + } + /** * NOTE: This method is invoked on the AWT-Windows thread (not the AWT-EventQueue thread). */ @@ -637,6 +669,13 @@ public class FlatWindowsNativeWindowBorder return (short) ((lParam.longValue() >> 16) & 0xffff); } + /** + * Same implementation as RGB(r,g,b) macro in wingdi.h. + */ + private DWORD RGB( int r, int g, int b ) { + return new DWORD( (r & 0xff) | ((g & 0xff) << 8) | ((b & 0xff) << 16) ); + } + /** * Opens the window's system menu. * The system menu is the menu that opens when the user presses Alt+Space or @@ -690,6 +729,8 @@ public class FlatWindowsNativeWindowBorder LONG_PTR SetWindowLong( HWND hWnd, int nIndex, LONG_PTR wndProc ); LRESULT CallWindowProc( LONG_PTR lpPrevWndFunc, HWND hWnd, int uMsg, WPARAM wParam, LPARAM lParam ); + LONG_PTR SetClassLongPtr( HWND hWnd, int nIndex, HANDLE wndProc ); + int GetDpiForWindow( HWND hwnd ); int GetSystemMetricsForDpi( int nIndex, int dpi ); @@ -702,6 +743,16 @@ public class FlatWindowsNativeWindowBorder BOOL TrackPopupMenu( HMENU hMenu, int uFlags, int x, int y, int nReserved, HWND hWnd, RECT prcRect ); } + //---- interface GDI32Ex -------------------------------------------------- + + private interface GDI32Ex + extends GDI32 + { + GDI32Ex INSTANCE = Native.load( "gdi32", GDI32Ex.class, W32APIOptions.DEFAULT_OPTIONS ); + + HBRUSH CreateSolidBrush( DWORD color ); + } + //---- class NCCALCSIZE_PARAMS -------------------------------------------- @FieldOrder( { "rgrc" } ) diff --git a/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts b/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts index 0dfa7b08..ba831e20 100644 --- a/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts +++ b/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts @@ -73,8 +73,8 @@ library { linkerArgs.addAll( toolChain.map { when( it ) { - is Gcc, is Clang -> listOf( "-l${jawt}", "-lUser32", "-lshell32", "-lAdvAPI32", "-lKernel32" ) - is VisualCpp -> listOf( "${jawt}.lib", "User32.lib", "shell32.lib", "AdvAPI32.lib", "Kernel32.lib", "/NODEFAULTLIB" ) + is Gcc, is Clang -> listOf( "-l${jawt}", "-lUser32", "-lGdi32", "-lshell32", "-lAdvAPI32", "-lKernel32" ) + is VisualCpp -> listOf( "${jawt}.lib", "User32.lib", "Gdi32.lib", "shell32.lib", "AdvAPI32.lib", "Kernel32.lib", "/NODEFAULTLIB" ) else -> emptyList() } } ) diff --git a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp index e34dbdee..e919113d 100644 --- a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp +++ b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp @@ -52,6 +52,13 @@ JNIEXPORT void JNICALL Java_com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder FlatWndProc::updateFrame( reinterpret_cast( hwnd ), state ); } +extern "C" +JNIEXPORT void JNICALL Java_com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_00024WndProc_setWindowBackground + ( JNIEnv* env, jobject obj, jlong hwnd, jint r, jint g, jint b ) +{ + FlatWndProc::setWindowBackground( reinterpret_cast( hwnd ), r, g, b ); +} + extern "C" JNIEXPORT void JNICALL Java_com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_00024WndProc_showWindow ( JNIEnv* env, jobject obj, jlong hwnd, jint cmd ) @@ -174,6 +181,17 @@ void FlatWndProc::updateFrame( HWND hwnd, int state ) { fwp->wmSizeWParam = -1; } +void FlatWndProc::setWindowBackground( HWND hwnd, int r, int g, int b ) { + // delete old background brush + HBRUSH oldBrush = (HBRUSH) ::GetClassLongPtr( hwnd, GCLP_HBRBACKGROUND ); + if( oldBrush != NULL ) + ::DeleteObject( oldBrush ); + + // create new background brush + HBRUSH brush = ::CreateSolidBrush( RGB( r, g, b ) ); + ::SetClassLongPtr( hwnd, GCLP_HBRBACKGROUND, (LONG_PTR) brush ); +} + LRESULT CALLBACK FlatWndProc::StaticWindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { FlatWndProc* fwp = (FlatWndProc*) hwndMap->get( hwnd ); if( fwp == NULL ) diff --git a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h index 52d68789..e4b50f04 100644 --- a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h +++ b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h @@ -26,6 +26,7 @@ public: static HWND install( JNIEnv *env, jobject obj, jobject window ); static void uninstall( JNIEnv *env, jobject obj, HWND hwnd ); static void updateFrame( HWND hwnd, int state ); + static void setWindowBackground( HWND hwnd, int r, int g, int b ); private: static int initialized; diff --git a/flatlaf-natives/flatlaf-natives-windows/src/main/headers/com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h b/flatlaf-natives/flatlaf-natives-windows/src/main/headers/com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h index 7e586697..8f5e28e0 100644 --- a/flatlaf-natives/flatlaf-natives-windows/src/main/headers/com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h +++ b/flatlaf-natives/flatlaf-natives-windows/src/main/headers/com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc.h @@ -39,6 +39,14 @@ JNIEXPORT void JNICALL Java_com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder JNIEXPORT void JNICALL Java_com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_00024WndProc_updateFrame (JNIEnv *, jobject, jlong, jint); +/* + * Class: com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc + * Method: setWindowBackground + * Signature: (JIII)V + */ +JNIEXPORT void JNICALL Java_com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_00024WndProc_setWindowBackground + (JNIEnv *, jobject, jlong, jint, jint, jint); + /* * Class: com_formdev_flatlaf_ui_FlatWindowsNativeWindowBorder_WndProc * Method: showWindow From 7f02eb9cf0580f8464ccdc41798244f1ea8e50e1 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 31 Jul 2021 21:02:42 +0200 Subject: [PATCH 07/81] Native window decorations: when window is initially shown, fill background with window background color (instead of white), which avoids flickering in dark themes (issue #339) --- CHANGELOG.md | 11 ++++-- .../FlatWindowsNativeWindowBorder.java | 37 ++++++++++++++---- .../src/main/cpp/FlatWndProc.cpp | 38 ++++++++++++++++--- .../src/main/cpp/FlatWndProc.h | 2 + 4 files changed, 73 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5c6f26d..bf2d2cc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,9 +11,14 @@ FlatLaf Change Log maximized windows. (issue #358) - Native window decorations (Windows 10 only): - Fixed occasional application crash in `flatlaf-windows.dll`. (issue #357) - - When resizing a window to the right or to the bottom, then first fill the - new space with the window background color (instead of black) before the - layout is updated. + - When window is initially shown, fill background with window background color + (instead of white), which avoids flickering in dark themes. (issue 339) + - When resizing a window at the right/bottom edge, then first fill the new + space with the window background color (instead of black) before the layout + is updated. + - When resizing a window at the left/top edge, then first fill the new space + with the window background color (instead of garbage) before the layout is + updated. ## 1.4 diff --git a/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java b/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java index c0483051..59180560 100644 --- a/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java +++ b/flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java @@ -60,7 +60,6 @@ import com.sun.jna.platform.win32.WinDef.LRESULT; import com.sun.jna.platform.win32.WinDef.RECT; import com.sun.jna.platform.win32.WinDef.UINT_PTR; import com.sun.jna.platform.win32.WinDef.WPARAM; -import com.sun.jna.platform.win32.WinNT.HANDLE; import com.sun.jna.platform.win32.WinUser.HMONITOR; import com.sun.jna.platform.win32.WinUser.WindowProc; import com.sun.jna.win32.W32APIOptions; @@ -291,6 +290,7 @@ public class FlatWindowsNativeWindowBorder private static final int GWLP_WNDPROC = -4; private static final int + WM_ERASEBKGND = 0x0014, WM_NCCALCSIZE = 0x0083, WM_NCHITTEST = 0x0084, WM_NCRBUTTONUP = 0x00A5, @@ -330,6 +330,7 @@ public class FlatWindowsNativeWindowBorder private final HWND hwnd; private final BaseTSD.LONG_PTR defaultWndProc; private int wmSizeWParam = -1; + private HBRUSH background; private int titleBarHeight; private Rectangle[] hitTestSpots; @@ -368,6 +369,8 @@ public class FlatWindowsNativeWindowBorder updateFrame( 0 ); // cleanup + if( background != null ) + GDI32.INSTANCE.DeleteObject( background ); window = null; } @@ -405,13 +408,11 @@ public class FlatWindowsNativeWindowBorder private void setWindowBackground( int r, int g, int b ) { // delete old background brush - ULONG_PTR oldBrush = User32.INSTANCE.GetClassLongPtr( hwnd, GCLP_HBRBACKGROUND ); - if( oldBrush != null && oldBrush.longValue() != 0 ) - GDI32.INSTANCE.DeleteObject( new HANDLE( oldBrush.toPointer() ) ); + if( background != null ) + GDI32.INSTANCE.DeleteObject( background ); // create new background brush - HBRUSH brush = GDI32Ex.INSTANCE.CreateSolidBrush( RGB( r, g, b ) ); - User32Ex.INSTANCE.SetClassLongPtr( hwnd, GCLP_HBRBACKGROUND, brush ); + background = GDI32Ex.INSTANCE.CreateSolidBrush( RGB( r, g, b ) ); } /** @@ -440,6 +441,9 @@ public class FlatWindowsNativeWindowBorder wParam = new WPARAM( wmSizeWParam ); break; + case WM_ERASEBKGND: + return WmEraseBkgnd( hwnd, uMsg, wParam, lParam ); + case WM_DESTROY: return WmDestroy( hwnd, uMsg, wParam, lParam ); } @@ -464,11 +468,30 @@ public class FlatWindowsNativeWindowBorder // cleanup windowsMap.remove( window ); + if( background != null ) + GDI32.INSTANCE.DeleteObject( background ); window = null; return lResult; } + /** + * Handle WM_ERASEBKGND + * + * https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-erasebkgnd + */ + LRESULT WmEraseBkgnd( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam ) { + if( background == null ) + return new LRESULT( 0 ); + + // fill background + HDC hdc = new HDC( wParam.toPointer() ); + RECT rect = new RECT(); + User32.INSTANCE.GetClientRect( hwnd, rect ); + User32Ex.INSTANCE.FillRect( hdc, rect, background ); + return new LRESULT( 1 ); + } + /** * Handle WM_NCCALCSIZE * @@ -729,7 +752,7 @@ public class FlatWindowsNativeWindowBorder LONG_PTR SetWindowLong( HWND hWnd, int nIndex, LONG_PTR wndProc ); LRESULT CallWindowProc( LONG_PTR lpPrevWndFunc, HWND hWnd, int uMsg, WPARAM wParam, LPARAM lParam ); - LONG_PTR SetClassLongPtr( HWND hWnd, int nIndex, HANDLE wndProc ); + int FillRect( HDC hDC, RECT lprc, HBRUSH hbr ); int GetDpiForWindow( HWND hwnd ); int GetSystemMetricsForDpi( int nIndex, int dpi ); diff --git a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp index e919113d..0e33534c 100644 --- a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp +++ b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.cpp @@ -87,6 +87,7 @@ FlatWndProc::FlatWndProc() { hwnd = NULL; defaultWndProc = NULL; wmSizeWParam = -1; + background = NULL; } HWND FlatWndProc::install( JNIEnv *env, jobject obj, jobject window ) { @@ -135,6 +136,8 @@ void FlatWndProc::uninstall( JNIEnv *env, jobject obj, HWND hwnd ) { // cleanup env->DeleteGlobalRef( fwp->obj ); + if( fwp->background != NULL ) + ::DeleteObject( fwp->background ); delete fwp; } @@ -182,14 +185,16 @@ void FlatWndProc::updateFrame( HWND hwnd, int state ) { } void FlatWndProc::setWindowBackground( HWND hwnd, int r, int g, int b ) { + FlatWndProc* fwp = (FlatWndProc*) hwndMap->get( hwnd ); + if( fwp == NULL ) + return; + // delete old background brush - HBRUSH oldBrush = (HBRUSH) ::GetClassLongPtr( hwnd, GCLP_HBRBACKGROUND ); - if( oldBrush != NULL ) - ::DeleteObject( oldBrush ); + if( fwp->background != NULL ) + ::DeleteObject( fwp->background ); // create new background brush - HBRUSH brush = ::CreateSolidBrush( RGB( r, g, b ) ); - ::SetClassLongPtr( hwnd, GCLP_HBRBACKGROUND, (LONG_PTR) brush ); + fwp->background = ::CreateSolidBrush( RGB( r, g, b ) ); } LRESULT CALLBACK FlatWndProc::StaticWindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { @@ -224,12 +229,16 @@ LRESULT CALLBACK FlatWndProc::WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, L wParam = wmSizeWParam; break; + case WM_ERASEBKGND: + return WmEraseBkgnd( hwnd, uMsg, wParam, lParam ); + case WM_DESTROY: return WmDestroy( hwnd, uMsg, wParam, lParam ); } return ::CallWindowProc( defaultWndProc, hwnd, uMsg, wParam, lParam ); } + /** * Handle WM_DESTROY * @@ -243,6 +252,8 @@ LRESULT FlatWndProc::WmDestroy( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lPara // cleanup getEnv()->DeleteGlobalRef( obj ); + if( background != NULL ) + ::DeleteObject( background ); hwndMap->remove( hwnd ); delete this; @@ -250,6 +261,23 @@ LRESULT FlatWndProc::WmDestroy( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lPara return ::CallWindowProc( defaultWndProc2, hwnd, uMsg, wParam, lParam ); } +/** + * Handle WM_ERASEBKGND + * + * https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-erasebkgnd + */ +LRESULT FlatWndProc::WmEraseBkgnd( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam ) { + if( background == NULL ) + return FALSE; + + // fill background + HDC hdc = (HDC) wParam; + RECT rect; + ::GetClientRect( hwnd, &rect ); + ::FillRect( hdc, &rect, background ); + return TRUE; +} + /** * Handle WM_NCCALCSIZE * diff --git a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h index e4b50f04..900286c0 100644 --- a/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h +++ b/flatlaf-natives/flatlaf-natives-windows/src/main/cpp/FlatWndProc.h @@ -42,6 +42,7 @@ private: HWND hwnd; WNDPROC defaultWndProc; int wmSizeWParam; + HBRUSH background; FlatWndProc(); static void initIDs( JNIEnv *env, jobject obj ); @@ -49,6 +50,7 @@ private: static LRESULT CALLBACK StaticWindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); LRESULT WmDestroy( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam ); + LRESULT WmEraseBkgnd( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam ); LRESULT WmNcCalcSize( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam ); LRESULT WmNcHitTest( HWND hwnd, int uMsg, WPARAM wParam, LPARAM lParam ); From ecfbe68c3338acf19bf2024644c081e01870ec98 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 31 Jul 2021 21:22:09 +0200 Subject: [PATCH 08/81] Native window decorations: updated DLLs (issues #357 and #339) built by GitHub Actions: https://github.com/JFormDesigner/FlatLaf/actions/runs/1085691279 --- .../flatlaf/natives/flatlaf-windows-x86.dll | Bin 7168 -> 7680 bytes .../natives/flatlaf-windows-x86_64.dll | Bin 8704 -> 9216 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/flatlaf-windows-x86.dll b/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/flatlaf-windows-x86.dll index 13999d84686cdeea65afe10b80635940c3b3c78a..9ae264776a8d79afaf671ccc51a0bfb2b562f9f2 100644 GIT binary patch delta 2741 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 F{{>ulxl;fD delta 3192 zcmc&$jZ;+D6~AxUMOZ%G?!x1{uuC=-TT0M{;uq=$kc+N_8Y47eA_ycBH8JgyGL8`l zkYsa<0k4xWQ!`^6jCLmNkkE9H+LjhZpxTH!QmD<8c1&l1PJ`B(&Di+*yKmnj%^%Rd z*)zX$e)rt-?mg$+cej++k`ZSyaiU^CoLs{`udfGr13UGwlSBGg&s$0WRAC?*^9vh{ugPvxg!!P zhKQNl44Y%M5C}!^3S#en#_)!8)R<=Jwh%(QwpysKC_+`{GI+KzPkNu%8f&Dd_-~CH zq-ZXg-jvdKk10<|C1 zn7sn@Ft>dWt5GTYy{go5JI||L~WpIwR$(>ZVb?tEGYAo<9KsB!N*v6vK=HcIUrria2rY91NO^F^_I+c&G;dgSgR=4n+Bx2|iXVypnH6FyJ1zc={7huVhCdsHS&o_wdwhqSc2PriT~$g`1Yhl}5tZ8`Dt7>t z+vMKmep;`dR>665fi%Y-iprLL$t$AbrEcC3q@zSl2l1dg3#=a)|o2$!HkaTJjl0Rh9GH8l5XW&L53lZAeMthoW85r@Sw^ zK>7*yN7Ibn#Q#e1JHmXB;v@XAm~XXAd|kY0fwDQuzCf3Bet=hxnmz)Jw4*&FwL73? zG11c%a}*&wT_z5oY=Vk3Ou5yg5u(68(+@ETPHn=8B~o?`uFab3~f?} zEB_IBb;dv9QB~2%Wg=$_s!{?^=*4VCRjdmCRDMEwg|D-0me%oCEIXx}eA=>2dW$c& zmK#gs2;o1nIQcu)WLr3l64%gR&4O4MUik?hvu36kKx2*Zp1PqD*Z80f*+FzwvBhzt zZS%6sOsu%@Hvf)oyYyY&Yg=nbxA7TUZh~8UqQ2B2zG$VPZ^=bfX+$7+&Dk|Czu^{d!y?qU^!$w& z87;{YZ8aaRD!H0tI5r_pf!f`N@cKvRvcCu$5QnOQ*T$zu23I+&+~>adHw-_PxuQH% z+$f7S8y<|%mNkZhXMYMC*$rBxJ^0}B;B`Ds+y8E-Y+6 zsO7J#5oO7fwnjH}%+s-6$0{8?I)d?ikvZg0`?enHUFuG_6atRu&C;yoR2>W=$# zJ66XjogdS2P{*@69@p_n-9NOj)&g!$e7Yrc?Z$w=38`8MNz|Qi?=+5a0}q}2=04=3&s$!g0}PE!Gra?pM|}C6(J+2V@`9>54U-_cAe)m z1PO7i*Nch4;Bdz^4=(8e=Mr2uxFw6gp8`T!u}>r4pY)Ja!F!Un=2v01!(vX{2gY^j>{nA zm_9>{FSQrv@HHu}ZBJso$O6HaM3XGo>me18KFl0~h#5nOI01PH{5T{P$vyxX){-va zPf8eeJe)GnKbdNf>c|1T(g;hAK%YTb{K!=389)bAfty;wO@gD~L`Fl;ZP6*py6EjQ ac0&FHy$?7E5t*9-F2ljQ Date: Mon, 2 Aug 2021 15:27:25 +0200 Subject: [PATCH 09/81] ComboBox and Spinner: limit arrow button width if component has large preferred height (issue #361) --- CHANGELOG.md | 2 + .../formdev/flatlaf/ui/FlatComboBoxUI.java | 7 +- .../com/formdev/flatlaf/ui/FlatSpinnerUI.java | 7 +- .../testing/FlatTextComponentsTest.java | 79 ++++++++++++++--- .../testing/FlatTextComponentsTest.jfd | 84 ++++++++++++++++--- 5 files changed, 153 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf2d2cc5..3aad6c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ FlatLaf Change Log #### Fixed bugs +- ComboBox and Spinner: Limit arrow button width if component has large + preferred height. (issue #361) - InternalFrame: Limit internal frame bounds to parent bounds on resize. Also honor maximum size of internal frame. (issue #362) - Popup: Fixed incorrectly placed drop shadow for medium-weight popups in diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java index 876881f7..89f1a424 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatComboBoxUI.java @@ -23,6 +23,7 @@ import java.awt.Component; import java.awt.ComponentOrientation; import java.awt.Container; import java.awt.Dimension; +import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; @@ -261,8 +262,12 @@ public class FlatComboBoxUI super.layoutContainer( parent ); if( arrowButton != null ) { + // limit button width to height of a raw combobox (without insets) + FontMetrics fm = comboBox.getFontMetrics( comboBox.getFont() ); + int maxButtonWidth = fm.getHeight() + scale( padding.top ) + scale( padding.bottom ); + Insets insets = getInsets(); - int buttonWidth = parent.getPreferredSize().height - insets.top - insets.bottom; + int buttonWidth = Math.min( parent.getPreferredSize().height - insets.top - insets.bottom, maxButtonWidth ); if( buttonWidth != arrowButton.getWidth() ) { // set width of arrow button to preferred height of combobox int xOffset = comboBox.getComponentOrientation().isLeftToRight() diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java index d7238d90..c8b4c8bb 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatSpinnerUI.java @@ -21,6 +21,7 @@ import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; +import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Insets; @@ -411,8 +412,12 @@ public class FlatSpinnerUI Rectangle editorRect = new Rectangle( r ); Rectangle buttonsRect = new Rectangle( r ); + // limit buttons width to height of a raw spinner (without insets) + FontMetrics fm = spinner.getFontMetrics( spinner.getFont() ); + int maxButtonWidth = fm.getHeight() + scale( padding.top ) + scale( padding.bottom ); + // make button area square (if spinner has preferred height) - int buttonsWidth = parent.getPreferredSize().height - insets.top - insets.bottom; + int buttonsWidth = Math.min( parent.getPreferredSize().height - insets.top - insets.bottom, maxButtonWidth ); buttonsRect.width = buttonsWidth; if( parent.getComponentOrientation().isLeftToRight() ) { diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.java index ecb55f42..24ebced1 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.java @@ -17,6 +17,7 @@ package com.formdev.flatlaf.testing; import java.awt.Component; +import java.awt.Dimension; import java.awt.Insets; import javax.swing.*; import javax.swing.border.*; @@ -102,10 +103,18 @@ public class FlatTextComponentsTest JComboBox comboBox3 = new JComboBox<>(); JLabel spinnerLabel = new JLabel(); JSpinner spinner1 = new JSpinner(); - JSpinner spinner2 = new JSpinner(); - JSpinner spinner3 = new JSpinner(); + JLabel label2 = new JLabel(); JComboBox comboBox2 = new JComboBox<>(); + JSpinner spinner2 = new JSpinner(); + JLabel label1 = new JLabel(); + JComboBox comboBox5 = new JComboBox<>(); + JSpinner spinner4 = new JSpinner(); + JLabel label3 = new JLabel(); JComboBox comboBox4 = new JComboBox<>(); + JSpinner spinner3 = new JSpinner(); + JLabel label4 = new JLabel(); + JComboBox comboBox6 = new JComboBox<>(); + JSpinner spinner5 = new JSpinner(); JPopupMenu popupMenu1 = new JPopupMenu(); JMenuItem cutMenuItem = new JMenuItem(); JMenuItem copyMenuItem = new JMenuItem(); @@ -130,8 +139,12 @@ public class FlatTextComponentsTest "[50,fill]" + "[]" + "[]para" + + "[40]" + + "[40]" + "[]" + "[]" + + "[::14]" + + "[::14]" + "[]" + "[]")); @@ -401,23 +414,67 @@ public class FlatTextComponentsTest spinner1.setName("spinner1"); add(spinner1, "cell 1 7,growx"); - //---- spinner2 ---- - spinner2.setName("spinner2"); - add(spinner2, "cell 1 8,growx,height 40"); - - //---- spinner3 ---- - spinner3.setName("spinner3"); - add(spinner3, "cell 1 9,growx,hmax 14"); + //---- label2 ---- + label2.setText("Large row height:
(default pref height)"); + label2.setName("label2"); + add(label2, "cell 0 8,aligny top,growy 0"); //---- comboBox2 ---- comboBox2.setEditable(true); comboBox2.setName("comboBox2"); - add(comboBox2, "cell 1 10,growx,height 40"); + add(comboBox2, "cell 1 8,grow"); + + //---- spinner2 ---- + spinner2.setName("spinner2"); + add(spinner2, "cell 1 9,grow"); + + //---- label1 ---- + label1.setText("Large pref height:"); + label1.setName("label1"); + add(label1, "cell 0 10,aligny top,growy 0"); + + //---- comboBox5 ---- + comboBox5.setPreferredSize(new Dimension(60, 40)); + comboBox5.setEditable(true); + comboBox5.setName("comboBox5"); + add(comboBox5, "cell 1 10,growx"); + + //---- spinner4 ---- + spinner4.setPreferredSize(new Dimension(60, 40)); + spinner4.setName("spinner4"); + add(spinner4, "cell 1 11,growx"); + + //---- label3 ---- + label3.setText("Small row height:
(default pref height)"); + label3.setName("label3"); + add(label3, "cell 0 12 1 2,aligny top,growy 0"); //---- comboBox4 ---- comboBox4.setEditable(true); comboBox4.setName("comboBox4"); - add(comboBox4, "cell 1 11,growx,hmax 14"); + add(comboBox4, "cell 1 12,growx"); + + //---- spinner3 ---- + spinner3.setName("spinner3"); + add(spinner3, "cell 1 13,growx"); + + //---- label4 ---- + label4.setText("Small pref height:"); + label4.setName("label4"); + add(label4, "cell 0 14 1 2,aligny top,growy 0"); + + //---- comboBox6 ---- + comboBox6.setEditable(true); + comboBox6.setPreferredSize(new Dimension(60, 14)); + comboBox6.setMinimumSize(new Dimension(60, 14)); + comboBox6.setName("comboBox6"); + add(comboBox6, "cell 1 14,growx"); + + //---- spinner5 ---- + spinner5.setMinimumSize(new Dimension(60, 14)); + spinner5.setPreferredSize(new Dimension(60, 14)); + spinner5.setName("spinner5"); + add(spinner5, "cell 1 15,growx,hmax 14"); //======== popupMenu1 ======== { diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.jfd index b8bcac13..8ea38154 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTextComponentsTest.jfd @@ -10,7 +10,7 @@ new FormModel { add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "ltr,insets dialog,hidemode 3" "$columnConstraints": "[][][::100][100,fill][fill]" - "$rowConstraints": "[][][][50,fill][50,fill][50,fill][][]para[][][][]" + "$rowConstraints": "[][][][50,fill][50,fill][50,fill][][]para[40][40][][][::14][::14][][]" } ) { name: "this" add( new FormComponent( "javax.swing.JLabel" ) { @@ -303,15 +303,11 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 7,growx" } ) - add( new FormComponent( "javax.swing.JSpinner" ) { - name: "spinner2" + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label2" + "text": "Large row height:
(default pref height)" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 8,growx,height 40" - } ) - add( new FormComponent( "javax.swing.JSpinner" ) { - name: "spinner3" - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 9,growx,hmax 14" + "value": "cell 0 8,aligny top,growy 0" } ) add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox2" @@ -320,7 +316,40 @@ new FormModel { "JavaCodeGenerator.typeParameters": "String" } }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 10,growx,height 40" + "value": "cell 1 8,grow" + } ) + add( new FormComponent( "javax.swing.JSpinner" ) { + name: "spinner2" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 9,grow" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label1" + "text": "Large pref height:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 10,aligny top,growy 0" + } ) + add( new FormComponent( "javax.swing.JComboBox" ) { + name: "comboBox5" + "preferredSize": new java.awt.Dimension( 60, 40 ) + "editable": true + auxiliary() { + "JavaCodeGenerator.typeParameters": "String" + } + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 10,growx" + } ) + add( new FormComponent( "javax.swing.JSpinner" ) { + name: "spinner4" + "preferredSize": new java.awt.Dimension( 60, 40 ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 11,growx" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label3" + "text": "Small row height:
(default pref height)" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 12 1 2,aligny top,growy 0" } ) add( new FormComponent( "javax.swing.JComboBox" ) { name: "comboBox4" @@ -329,11 +358,40 @@ new FormModel { "JavaCodeGenerator.typeParameters": "String" } }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 11,growx,hmax 14" + "value": "cell 1 12,growx" + } ) + add( new FormComponent( "javax.swing.JSpinner" ) { + name: "spinner3" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 13,growx" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label4" + "text": "Small pref height:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 14 1 2,aligny top,growy 0" + } ) + add( new FormComponent( "javax.swing.JComboBox" ) { + name: "comboBox6" + "editable": true + "preferredSize": new java.awt.Dimension( 60, 14 ) + "minimumSize": new java.awt.Dimension( 60, 14 ) + auxiliary() { + "JavaCodeGenerator.typeParameters": "String" + } + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 14,growx" + } ) + add( new FormComponent( "javax.swing.JSpinner" ) { + name: "spinner5" + "minimumSize": new java.awt.Dimension( 60, 14 ) + "preferredSize": new java.awt.Dimension( 60, 14 ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 15,growx,hmax 14" } ) }, new FormLayoutConstraints( null ) { "location": new java.awt.Point( 0, 0 ) - "size": new java.awt.Dimension( 530, 580 ) + "size": new java.awt.Dimension( 530, 660 ) } ) add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) { name: "popupMenu1" @@ -350,7 +408,7 @@ new FormModel { "text": "Paste" } ) }, new FormLayoutConstraints( null ) { - "location": new java.awt.Point( 0, 680 ) + "location": new java.awt.Point( 0, 705 ) "size": new java.awt.Dimension( 91, 87 ) } ) } From 953eee1dc8e67a58356bee14a779027c4f6cdc0c Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 2 Aug 2021 18:01:08 +0200 Subject: [PATCH 10/81] TableHeader: made `getRolloverColumn()` public to allow usage in custom renderers (issue #336) --- .../main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java index f19b5202..2ef512de 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderUI.java @@ -94,6 +94,12 @@ public class FlatTableHeaderUI bottomSeparatorColor = null; } + // overridden and made public to allow usage in custom renderers + @Override + public int getRolloverColumn() { + return super.getRolloverColumn(); + } + @Override public void paint( Graphics g, JComponent c ) { TableColumnModel columnModel = header.getColumnModel(); From 29064ec72faeb4be0be97e3609da487a5367ac50 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 2 Aug 2021 18:36:10 +0200 Subject: [PATCH 11/81] Button and TextComponent: do not apply minimum width/height if margins are set (issue #364) --- CHANGELOG.md | 2 ++ .../com/formdev/flatlaf/ui/FlatButtonUI.java | 12 +++++++++++- .../com/formdev/flatlaf/ui/FlatEditorPaneUI.java | 15 ++++++++++++--- .../com/formdev/flatlaf/ui/FlatTextAreaUI.java | 7 ++++++- .../com/formdev/flatlaf/ui/FlatTextFieldUI.java | 16 +++++++++++++++- .../com/formdev/flatlaf/ui/FlatTextPaneUI.java | 9 +++++++-- 6 files changed, 53 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3aad6c51..8318b475 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ FlatLaf Change Log #### Fixed bugs +- Button and TextComponent: Do not apply minimum width/height if margins are + set. (issue #364) - ComboBox and Spinner: Limit arrow button width if component has large preferred height. (issue #361) - InternalFrame: Limit internal frame bounds to parent bounds on resize. Also diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java index 92d3f013..0afd6eb1 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java @@ -30,6 +30,7 @@ import java.awt.Insets; import java.awt.Rectangle; import java.awt.geom.RoundRectangle2D; import java.beans.PropertyChangeEvent; +import java.util.Objects; import javax.swing.AbstractButton; import javax.swing.ButtonModel; import javax.swing.Icon; @@ -129,6 +130,7 @@ public class FlatButtonUI protected Color toolbarSelectedBackground; private Icon helpButtonIcon; + private Insets defaultMargin; private boolean defaults_initialized = false; @@ -184,6 +186,7 @@ public class FlatButtonUI toolbarSelectedBackground = UIManager.getColor( prefix + "toolbar.selectedBackground" ); helpButtonIcon = UIManager.getIcon( "HelpButton.icon" ); + defaultMargin = UIManager.getInsets( prefix + "margin" ); defaults_initialized = true; } @@ -499,7 +502,9 @@ public class FlatButtonUI } else if( isIconOnlyOrSingleCharacter && ((AbstractButton)c).getIcon() == null ) { // make single-character-no-icon button square (increase width) prefSize.width = Math.max( prefSize.width, prefSize.height ); - } else if( !isIconOnlyOrSingleCharacter && !isToolBarButton( c ) && c.getBorder() instanceof FlatButtonBorder ) { + } else if( !isIconOnlyOrSingleCharacter && !isToolBarButton( c ) && + c.getBorder() instanceof FlatButtonBorder && hasDefaultMargins( c ) ) + { // apply minimum width/height int fw = Math.round( FlatUIUtils.getBorderFocusWidth( c ) * 2 ); prefSize.width = Math.max( prefSize.width, scale( FlatUIUtils.minimumWidth( c, minimumWidth ) ) + fw ); @@ -509,6 +514,11 @@ public class FlatButtonUI return prefSize; } + private boolean hasDefaultMargins( JComponent c ) { + Insets margin = ((AbstractButton)c).getMargin(); + return margin instanceof UIResource && Objects.equals( margin, defaultMargin ); + } + //---- class FlatButtonListener ------------------------------------------- protected class FlatButtonListener diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java index 0179e60d..61bbcaf2 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatEditorPaneUI.java @@ -21,6 +21,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; +import java.awt.Insets; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import javax.swing.JComponent; @@ -65,6 +66,8 @@ public class FlatEditorPaneUI protected boolean isIntelliJTheme; protected Color focusedBackground; + private Insets defaultMargin; + private Object oldHonorDisplayProperties; private FocusListener focusListener; @@ -81,6 +84,8 @@ public class FlatEditorPaneUI isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); focusedBackground = UIManager.getColor( prefix + ".focusedBackground" ); + defaultMargin = UIManager.getInsets( prefix + ".margin" ); + // use component font and foreground for HTML text oldHonorDisplayProperties = getComponent().getClientProperty( JEditorPane.HONOR_DISPLAY_PROPERTIES ); getComponent().putClientProperty( JEditorPane.HONOR_DISPLAY_PROPERTIES, true ); @@ -128,15 +133,19 @@ public class FlatEditorPaneUI @Override public Dimension getPreferredSize( JComponent c ) { - return applyMinimumWidth( c, super.getPreferredSize( c ), minimumWidth ); + return applyMinimumWidth( c, super.getPreferredSize( c ), minimumWidth, defaultMargin ); } @Override public Dimension getMinimumSize( JComponent c ) { - return applyMinimumWidth( c, super.getMinimumSize( c ), minimumWidth ); + return applyMinimumWidth( c, super.getMinimumSize( c ), minimumWidth, defaultMargin ); } - static Dimension applyMinimumWidth( JComponent c, Dimension size, int minimumWidth ) { + static Dimension applyMinimumWidth( JComponent c, Dimension size, int minimumWidth, Insets defaultMargin ) { + // do not apply minimum width if JTextComponent.margin is set + if( !FlatTextFieldUI.hasDefaultMargins( c, defaultMargin ) ) + return size; + // Assume that text area is in a scroll pane (that displays the border) // and subtract 1px border line width. // Using "(scale( 1 ) * 2)" instead of "scale( 2 )" to deal with rounding diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java index 21824be5..f188353f 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextAreaUI.java @@ -20,6 +20,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; +import java.awt.Insets; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import javax.swing.JComponent; @@ -67,6 +68,8 @@ public class FlatTextAreaUI protected Color inactiveBackground; protected Color focusedBackground; + private Insets defaultMargin; + private FocusListener focusListener; public static ComponentUI createUI( JComponent c ) { @@ -90,6 +93,8 @@ public class FlatTextAreaUI disabledBackground = UIManager.getColor( "TextArea.disabledBackground" ); inactiveBackground = UIManager.getColor( "TextArea.inactiveBackground" ); focusedBackground = UIManager.getColor( "TextArea.focusedBackground" ); + + defaultMargin = UIManager.getInsets( "TextArea.margin" ); } @Override @@ -170,7 +175,7 @@ public class FlatTextAreaUI if( c instanceof JTextArea && ((JTextArea)c).getColumns() > 0 ) return size; - return FlatEditorPaneUI.applyMinimumWidth( c, size, minimumWidth ); + return FlatEditorPaneUI.applyMinimumWidth( c, size, minimumWidth, defaultMargin ); } @Override diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java index 874d4461..923458a0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextFieldUI.java @@ -27,6 +27,7 @@ import java.awt.Insets; import java.awt.Rectangle; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; +import java.util.Objects; import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JSpinner; @@ -80,6 +81,8 @@ public class FlatTextFieldUI protected Color placeholderForeground; protected Color focusedBackground; + private Insets defaultMargin; + private FocusListener focusListener; public static ComponentUI createUI( JComponent c ) { @@ -96,6 +99,8 @@ public class FlatTextFieldUI placeholderForeground = UIManager.getColor( prefix + ".placeholderForeground" ); focusedBackground = UIManager.getColor( prefix + ".focusedBackground" ); + defaultMargin = UIManager.getInsets( prefix + ".margin" ); + LookAndFeel.installProperty( getComponent(), "opaque", false ); MigLayoutVisualPadding.install( getComponent() ); @@ -250,11 +255,15 @@ public class FlatTextFieldUI return applyMinimumWidth( c, super.getMinimumSize( c ), minimumWidth ); } - static Dimension applyMinimumWidth( JComponent c, Dimension size, int minimumWidth ) { + private Dimension applyMinimumWidth( JComponent c, Dimension size, int minimumWidth ) { // do not apply minimum width if JTextField.columns is set if( c instanceof JTextField && ((JTextField)c).getColumns() > 0 ) return size; + // do not apply minimum width if JTextComponent.margin is set + if( !hasDefaultMargins( c, defaultMargin ) ) + return size; + // do not apply minimum width if used in combobox or spinner Container parent = c.getParent(); if( parent instanceof JComboBox || @@ -268,6 +277,11 @@ public class FlatTextFieldUI return size; } + static boolean hasDefaultMargins( JComponent c, Insets defaultMargin ) { + Insets margin = ((JTextComponent)c).getMargin(); + return margin instanceof UIResource && Objects.equals( margin, defaultMargin ); + } + @Override protected Rectangle getVisibleEditorRect() { Rectangle r = super.getVisibleEditorRect(); diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java index 0da0c538..b2962876 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTextPaneUI.java @@ -20,6 +20,7 @@ import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; +import java.awt.Insets; import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import javax.swing.JComponent; @@ -62,6 +63,8 @@ public class FlatTextPaneUI protected boolean isIntelliJTheme; protected Color focusedBackground; + private Insets defaultMargin; + private Object oldHonorDisplayProperties; private FocusListener focusListener; @@ -78,6 +81,8 @@ public class FlatTextPaneUI isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" ); focusedBackground = UIManager.getColor( prefix + ".focusedBackground" ); + defaultMargin = UIManager.getInsets( prefix + ".margin" ); + // use component font and foreground for HTML text oldHonorDisplayProperties = getComponent().getClientProperty( JEditorPane.HONOR_DISPLAY_PROPERTIES ); getComponent().putClientProperty( JEditorPane.HONOR_DISPLAY_PROPERTIES, true ); @@ -117,12 +122,12 @@ public class FlatTextPaneUI @Override public Dimension getPreferredSize( JComponent c ) { - return FlatEditorPaneUI.applyMinimumWidth( c, super.getPreferredSize( c ), minimumWidth ); + return FlatEditorPaneUI.applyMinimumWidth( c, super.getPreferredSize( c ), minimumWidth, defaultMargin ); } @Override public Dimension getMinimumSize( JComponent c ) { - return FlatEditorPaneUI.applyMinimumWidth( c, super.getMinimumSize( c ), minimumWidth ); + return FlatEditorPaneUI.applyMinimumWidth( c, super.getMinimumSize( c ), minimumWidth, defaultMargin ); } @Override From e5e510c8250c64df6cdc5677a270426969301ffa Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 2 Aug 2021 19:16:38 +0200 Subject: [PATCH 12/81] Demo: fixed inconsistent behavior when first changing font size and then font family, which did loose user scale factor on Windows in Java 9+ (issue #352) --- .../src/main/java/com/formdev/flatlaf/demo/DemoFrame.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java index 6ab88a5e..a416053d 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoFrame.java @@ -34,6 +34,7 @@ import com.formdev.flatlaf.extras.FlatUIDefaultsInspector; import com.formdev.flatlaf.extras.components.FlatButton; import com.formdev.flatlaf.extras.components.FlatButton.ButtonType; import com.formdev.flatlaf.extras.FlatSVGUtils; +import com.formdev.flatlaf.ui.FlatUIUtils; import com.formdev.flatlaf.ui.JBRCustomDecorations; import com.formdev.flatlaf.util.SystemInfo; import net.miginfocom.layout.ConstraintParser; @@ -185,6 +186,8 @@ class DemoFrame Font font = UIManager.getFont( "defaultFont" ); Font newFont = StyleContext.getDefaultStyleContext().getFont( fontFamily, font.getStyle(), font.getSize() ); + // StyleContext.getFont() may return a UIResource, which would cause loosing user scale factor on Windows + newFont = FlatUIUtils.nonUIResource( newFont ); UIManager.put( "defaultFont", newFont ); FlatLaf.updateUI(); From d373687bc42c35e48eb6206d8af2f223584ecd60 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 3 Aug 2021 11:01:35 +0200 Subject: [PATCH 13/81] Testing: added FlatSingleComponentTest to easier test/debug single components --- .../testing/FlatSingleComponentTest.java | 236 ++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatSingleComponentTest.java diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatSingleComponentTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatSingleComponentTest.java new file mode 100644 index 00000000..33981036 --- /dev/null +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatSingleComponentTest.java @@ -0,0 +1,236 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.testing; + +import java.awt.Container; +import java.awt.Dimension; +import java.awt.EventQueue; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; +import java.awt.event.KeyEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.KeyStroke; +import javax.swing.UIManager; +import javax.swing.plaf.metal.MetalLookAndFeel; +import javax.swing.plaf.nimbus.NimbusLookAndFeel; +import com.formdev.flatlaf.FlatDarculaLaf; +import com.formdev.flatlaf.FlatDarkLaf; +import com.formdev.flatlaf.FlatIntelliJLaf; +import com.formdev.flatlaf.FlatLaf; +import com.formdev.flatlaf.FlatLightLaf; +import com.formdev.flatlaf.FlatSystemProperties; +import com.formdev.flatlaf.demo.DemoPrefs; +import com.formdev.flatlaf.extras.FlatInspector; +import com.formdev.flatlaf.extras.FlatUIDefaultsInspector; +import com.formdev.flatlaf.util.SystemInfo; +import com.formdev.flatlaf.util.UIScale; +import net.miginfocom.swing.MigLayout; + +/** + * @author Karl Tauber + */ +public class FlatSingleComponentTest + extends JFrame +{ + private static final String PREFS_ROOT_PATH = "/flatlaf-test-single"; + private static final String KEY_SCALE_FACTOR = "scaleFactor"; + + private final JLabel infoLabel; + + private JComponent createSingleComponent() { + return new JButton( "hello" ); + } + + public static void main( String[] args ) { + DemoPrefs.init( PREFS_ROOT_PATH ); + + // set scale factor + if( System.getProperty( FlatSystemProperties.UI_SCALE ) == null ) { + String scaleFactor = DemoPrefs.getState().get( KEY_SCALE_FACTOR, null ); + if( scaleFactor != null ) + System.setProperty( FlatSystemProperties.UI_SCALE, scaleFactor ); + } + + // install inspectors + FlatInspector.install( "ctrl shift alt X" ); + FlatUIDefaultsInspector.install( "ctrl shift alt Y" ); + + // disable animated Laf change + System.setProperty( "flatlaf.animatedLafChange", "false" ); + + // test loading custom defaults from package + FlatLaf.registerCustomDefaultsSource( "com.formdev.flatlaf.testing.customdefaults" ); + + // set look and feel + DemoPrefs.setupLaf( args ); + + // create and show frame + new FlatSingleComponentTest(); + } + + private FlatSingleComponentTest() { + super( "FlatSingleComponentTest" ); + setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); + + JComponent c = createSingleComponent(); + + Container contentPane = getContentPane(); + contentPane.setLayout( new MigLayout( null, null, "[][grow]") ); + contentPane.add( c ); + + infoLabel = new JLabel(); + infoLabel.setEnabled( false ); + contentPane.add( infoLabel, "newline, aligny bottom,growy 0" ); + + // register F1, F2, ... keys to switch to Light, Dark or other LaFs + registerSwitchToLookAndFeel( "F1", FlatLightLaf.class.getName() ); + registerSwitchToLookAndFeel( "F2", FlatDarkLaf.class.getName() ); + registerSwitchToLookAndFeel( "F3", FlatIntelliJLaf.class.getName() ); + registerSwitchToLookAndFeel( "F4", FlatDarculaLaf.class.getName() ); + + registerSwitchToLookAndFeel( "F8", FlatTestLaf.class.getName() ); + + if( SystemInfo.isWindows ) + registerSwitchToLookAndFeel( "F9", "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" ); + else if( SystemInfo.isMacOS ) + registerSwitchToLookAndFeel( "F9", "com.apple.laf.AquaLookAndFeel" ); + else if( SystemInfo.isLinux ) + registerSwitchToLookAndFeel( "F9", "com.sun.java.swing.plaf.gtk.GTKLookAndFeel" ); + registerSwitchToLookAndFeel( "F12", MetalLookAndFeel.class.getName() ); + registerSwitchToLookAndFeel( "F11", NimbusLookAndFeel.class.getName() ); + + // register Alt+F1, F2, ... keys to change scale factor + registerScaleFactor( "alt F1", "1" ); + registerScaleFactor( "alt F2", "1.25" ); + registerScaleFactor( "alt F3", "1.5" ); + registerScaleFactor( "alt F4", "1.75" ); + registerScaleFactor( "alt F5", "2" ); + registerScaleFactor( "alt F6", "2.5" ); + registerScaleFactor( "alt F7", "3" ); + registerScaleFactor( "alt F8", "3.5" ); + registerScaleFactor( "alt F9", "4" ); + registerScaleFactor( "alt F10", "5" ); + registerScaleFactor( "alt F11", "6" ); + registerScaleFactor( "alt F12", null ); + + // register ESC key to close frame + ((JComponent)getContentPane()).registerKeyboardAction( + e -> { + dispose(); + }, + KeyStroke.getKeyStroke( KeyEvent.VK_ESCAPE, 0, false ), + JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT ); + + // update info + addWindowListener( new WindowAdapter() { + @Override + public void windowOpened( WindowEvent e ) { + updateInfo(); + } + } ); + + // update info when moved to another screen + addComponentListener( new ComponentAdapter() { + @Override + public void componentMoved( ComponentEvent e ) { + updateInfo(); + } + } ); + + UIManager.addPropertyChangeListener( e -> { + if( "lookAndFeel".equals( e.getPropertyName() ) ) { + EventQueue.invokeLater( () -> { + // update info because user scale factor may change + updateInfo(); + } ); + } + } ); + + UIScale.addPropertyChangeListener( e -> { + // update info because user scale factor may change + updateInfo(); + } ); + + setMinimumSize( UIScale.scale( new Dimension( 300, 150 ) ) ); + pack(); + setLocationRelativeTo( null ); + setVisible( true ); + } + + private void updateInfo() { + double systemScaleFactor = UIScale.getSystemScaleFactor( getGraphicsConfiguration() ); + float userScaleFactor = UIScale.getUserScaleFactor(); + infoLabel.setText( " (Java " + System.getProperty( "java.version" ) + + (systemScaleFactor != 1 ? ("; system scale factor " + systemScaleFactor) : "") + + (userScaleFactor != 1 ? ("; user scale factor " + userScaleFactor) : "") + + (systemScaleFactor == 1 && userScaleFactor == 1 ? "; no scaling" : "") + + ")" ); + } + + private void registerSwitchToLookAndFeel( String keyStrokeStr, String lafClassName ) { + KeyStroke keyStroke = KeyStroke.getKeyStroke( keyStrokeStr ); + if( keyStroke == null ) + throw new IllegalArgumentException( "Invalid key stroke '" + keyStrokeStr + "'" ); + + ((JComponent)getContentPane()).registerKeyboardAction( + e -> { + applyLookAndFeel( lafClassName ); + }, + keyStroke, + JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT ); + } + + private void applyLookAndFeel( String lafClassName ) { + try { + UIManager.setLookAndFeel( lafClassName ); + FlatLaf.updateUI(); + } catch( Exception ex ) { + ex.printStackTrace(); + } + } + + private void registerScaleFactor( String keyStrokeStr, String scaleFactor ) { + KeyStroke keyStroke = KeyStroke.getKeyStroke( keyStrokeStr ); + if( keyStroke == null ) + throw new IllegalArgumentException( "Invalid key stroke '" + keyStrokeStr + "'" ); + + ((JComponent)getContentPane()).registerKeyboardAction( + e -> { + applyScaleFactor( scaleFactor ); + }, + keyStroke, + JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT ); + } + + private void applyScaleFactor( String scaleFactor ) { + if( scaleFactor != null ) { + System.setProperty( FlatSystemProperties.UI_SCALE, scaleFactor ); + DemoPrefs.getState().put( KEY_SCALE_FACTOR, scaleFactor ); + } else { + System.clearProperty( FlatSystemProperties.UI_SCALE ); + DemoPrefs.getState().remove( KEY_SCALE_FACTOR ); + } + + applyLookAndFeel( UIManager.getLookAndFeel().getClass().getName() ); + pack(); + } +} From bce58bc97b9997cb93b647881ba1eb1d7e2f9296 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 3 Aug 2021 17:52:49 +0200 Subject: [PATCH 14/81] SwingX: added search and clear icons to `JXSearchField` (issue #359) --- CHANGELOG.md | 5 ++ .../formdev/flatlaf/icons/FlatClearIcon.java | 85 ++++++++++++++++++ .../formdev/flatlaf/icons/FlatSearchIcon.java | 69 ++++++++++++++ .../icons/FlatSearchWithHistoryIcon.java | 55 ++++++++++++ .../com/formdev/flatlaf/FlatLaf.properties | 11 +++ flatlaf-core/svg/CapsLockIcon.svg | 2 +- flatlaf-core/svg/ClearHoveredIcon.svg | 3 + flatlaf-core/svg/ClearIcon.svg | 3 + flatlaf-core/svg/FlatLaf Icons.sketch | Bin 21806 -> 23474 bytes flatlaf-core/svg/SearchIcon.svg | 6 ++ flatlaf-core/svg/SearchWithHistoryIcon.svg | 7 ++ .../formdev/flatlaf/swingx/FlatLaf.properties | 15 ++++ .../uidefaults/FlatDarkLaf_1.8.0_202.txt | 19 ++++ .../uidefaults/FlatLightLaf_1.8.0_202.txt | 19 ++++ .../uidefaults/FlatTestLaf_1.8.0_202.txt | 19 ++++ .../testing/swingx/FlatSwingXTest.java | 31 +++++++ .../flatlaf/testing/swingx/FlatSwingXTest.jfd | 38 +++++++- .../flatlaf/themeeditor/FlatLafUIKeys.txt | 15 ++++ 18 files changed, 399 insertions(+), 3 deletions(-) create mode 100644 flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java create mode 100644 flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java create mode 100644 flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchWithHistoryIcon.java create mode 100644 flatlaf-core/svg/ClearHoveredIcon.svg create mode 100644 flatlaf-core/svg/ClearIcon.svg create mode 100644 flatlaf-core/svg/SearchIcon.svg create mode 100644 flatlaf-core/svg/SearchWithHistoryIcon.svg diff --git a/CHANGELOG.md b/CHANGELOG.md index 8318b475..d0e3a957 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ FlatLaf Change Log ## 1.5-SNAPSHOT +#### New features and improvements + +- SwingX: Added search and clear icons to `JXSearchField`. (issue #359) + + #### Fixed bugs - Button and TextComponent: Do not apply minimum width/height if margins are diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java new file mode 100644 index 00000000..b756b509 --- /dev/null +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatClearIcon.java @@ -0,0 +1,85 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.icons; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics2D; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Line2D; +import java.awt.geom.Path2D; +import javax.swing.AbstractButton; +import javax.swing.ButtonModel; +import javax.swing.UIManager; +import com.formdev.flatlaf.ui.FlatUIUtils; + +/** + * "clear" icon for search fields. + * + * @uiDefault SearchField.clearIconColor Color + * @uiDefault SearchField.clearIconHoverColor Color + * @uiDefault SearchField.clearIconPressedColor Color + * + * @author Karl Tauber + * @since 1.5 + */ +public class FlatClearIcon + extends FlatAbstractIcon +{ + protected Color clearIconColor = UIManager.getColor( "SearchField.clearIconColor" ); + protected Color clearIconHoverColor = UIManager.getColor( "SearchField.clearIconHoverColor" ); + protected Color clearIconPressedColor = UIManager.getColor( "SearchField.clearIconPressedColor" ); + + public FlatClearIcon() { + super( 16, 16, null ); + } + + @Override + protected void paintIcon( Component c, Graphics2D g ) { + if( c instanceof AbstractButton ) { + ButtonModel model = ((AbstractButton)c).getModel(); + if( model.isPressed() || model.isRollover() ) { + /* + + + + */ + + // paint filled circle with cross + g.setColor( model.isPressed() ? clearIconPressedColor : clearIconHoverColor ); + Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD ); + path.append( new Ellipse2D.Float( 1.75f, 1.75f, 12.5f, 12.5f ), false ); + path.append( FlatUIUtils.createPath( 4.5,5.5, 5.5,4.5, 8,7, 10.5,4.5, 11.5,5.5, 9,8, 11.5,10.5, 10.5,11.5, 8,9, 5.5,11.5, 4.5,10.5, 7,8 ), false ); + g.fill( path ); + return; + } + } + + /* + + + + */ + + // paint cross + g.setColor( clearIconColor ); + Path2D path = new Path2D.Float( Path2D.WIND_EVEN_ODD ); + path.append( new Line2D.Float( 5,5, 11,11 ), false ); + path.append( new Line2D.Float( 5,11, 11,5 ), false ); + g.draw( path ); + } +} diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java new file mode 100644 index 00000000..1bc726a6 --- /dev/null +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchIcon.java @@ -0,0 +1,69 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.icons; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics2D; +import java.awt.geom.Area; +import java.awt.geom.Ellipse2D; +import javax.swing.UIManager; +import com.formdev.flatlaf.ui.FlatButtonUI; +import com.formdev.flatlaf.ui.FlatUIUtils; + +/** + * "search" icon for search fields. + * + * @uiDefault SearchField.searchIconColor Color + * @uiDefault SearchField.searchIconHoverColor Color + * @uiDefault SearchField.searchIconPressedColor Color + * + * @author Karl Tauber + * @since 1.5 + */ +public class FlatSearchIcon + extends FlatAbstractIcon +{ + protected Color searchIconColor = UIManager.getColor( "SearchField.searchIconColor" ); + protected Color searchIconHoverColor = UIManager.getColor( "SearchField.searchIconHoverColor" ); + protected Color searchIconPressedColor = UIManager.getColor( "SearchField.searchIconPressedColor" ); + + public FlatSearchIcon() { + super( 16, 16, null ); + } + + @Override + protected void paintIcon( Component c, Graphics2D g ) { + /* + + + + + + + */ + + g.setColor( FlatButtonUI.buttonStateColor( c, searchIconColor, searchIconColor, + null, searchIconHoverColor, searchIconPressedColor ) ); + + // paint magnifier + Area area = new Area( new Ellipse2D.Float( 2, 2, 10, 10 ) ); + area.subtract( new Area( new Ellipse2D.Float( 3, 3, 8, 8 ) ) ); + area.add( new Area( FlatUIUtils.createPath( 10.813,9.75, 14,12.938, 12.938,14, 9.75,10.813 ) ) ); + g.fill( area ); + } +} diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchWithHistoryIcon.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchWithHistoryIcon.java new file mode 100644 index 00000000..262bb8fc --- /dev/null +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/icons/FlatSearchWithHistoryIcon.java @@ -0,0 +1,55 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.icons; + +import java.awt.Component; +import java.awt.Graphics2D; +import com.formdev.flatlaf.ui.FlatUIUtils; + +/** + * "search with history" icon for search fields. + * + * @author Karl Tauber + * @since 1.5 + */ +public class FlatSearchWithHistoryIcon + extends FlatSearchIcon +{ + public FlatSearchWithHistoryIcon() { + } + + @Override + protected void paintIcon( Component c, Graphics2D g ) { + /* + + + + + + + + */ + + // paint magnifier + g.translate( -2, 0 ); + super.paintIcon( c, g ); + g.translate( 2, 0 ); + + // paint history arrow + g.fill( FlatUIUtils.createPath( 11,7, 16,7, 13.5,10 ) ); + } +} diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index 90c86413..5688074e 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -514,6 +514,17 @@ ScrollPane.fillUpperCorner = true ScrollPane.smoothScrolling = true +#---- SearchField ---- + +SearchField.searchIconColor = fadeout(Actions.GreyInline,10%,lazy) +SearchField.searchIconHoverColor = fadeout(Actions.GreyInline,30%,lazy) +SearchField.searchIconPressedColor = fadeout(Actions.GreyInline,50%,lazy) + +SearchField.clearIconColor = fadeout(Actions.GreyInline,50%,lazy) +SearchField.clearIconHoverColor = $SearchField.clearIconColor +SearchField.clearIconPressedColor = fadeout(Actions.GreyInline,20%,lazy) + + #---- Separator ---- Separator.height = 3 diff --git a/flatlaf-core/svg/CapsLockIcon.svg b/flatlaf-core/svg/CapsLockIcon.svg index 1c45373d..a81e218e 100644 --- a/flatlaf-core/svg/CapsLockIcon.svg +++ b/flatlaf-core/svg/CapsLockIcon.svg @@ -1,7 +1,7 @@ - + diff --git a/flatlaf-core/svg/ClearHoveredIcon.svg b/flatlaf-core/svg/ClearHoveredIcon.svg new file mode 100644 index 00000000..21a9bf01 --- /dev/null +++ b/flatlaf-core/svg/ClearHoveredIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/flatlaf-core/svg/ClearIcon.svg b/flatlaf-core/svg/ClearIcon.svg new file mode 100644 index 00000000..092f8b4e --- /dev/null +++ b/flatlaf-core/svg/ClearIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/flatlaf-core/svg/FlatLaf Icons.sketch b/flatlaf-core/svg/FlatLaf Icons.sketch index 708e7fd147b2082c8fba0c403ed542d95a9a6a7d..3f5c46d7c4ab4db8a9e15032f0fed82cf0c78f5e 100644 GIT binary patch literal 23474 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 C#1!BF literal 21806 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 bCjZ}ahB_MLzllKrIWemdzj{#rckf>Syz{3C diff --git a/flatlaf-core/svg/SearchIcon.svg b/flatlaf-core/svg/SearchIcon.svg new file mode 100644 index 00000000..08fb4505 --- /dev/null +++ b/flatlaf-core/svg/SearchIcon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/flatlaf-core/svg/SearchWithHistoryIcon.svg b/flatlaf-core/svg/SearchWithHistoryIcon.svg new file mode 100644 index 00000000..23903a08 --- /dev/null +++ b/flatlaf-core/svg/SearchWithHistoryIcon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties index b15408db..54e323ce 100644 --- a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties +++ b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties @@ -42,3 +42,18 @@ JXTitledPanel.borderColor = $Button.borderColor JXTitledPanel.titleBackground = $TaskPane.titleBackgroundGradientStart JXTitledPanel.titleForeground = $TaskPane.titleForeground JXTitledPanel.captionInsets = 4,10,4,10 + + +#---- SearchField ---- + +SearchField.icon = com.formdev.flatlaf.icons.FlatSearchIcon +SearchField.rolloverIcon = lazy(SearchField.icon) +SearchField.pressedIcon = lazy(SearchField.icon) + +SearchField.popupIcon = com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon +SearchField.popupRolloverIcon = lazy(SearchField.popupIcon) +SearchField.popupPressedIcon = lazy(SearchField.popupIcon) + +SearchField.clearIcon = com.formdev.flatlaf.icons.FlatClearIcon +SearchField.clearRolloverIcon = lazy(SearchField.clearIcon) +SearchField.clearPressedIcon = lazy(SearchField.clearIcon) diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt index 8ddfceaa..8dab6a59 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -879,6 +879,25 @@ ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI +#---- SearchField ---- + +SearchField.clearIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.clearIconColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconHoverColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.clearRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.icon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.popupIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.popupPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.popupRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.pressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.rolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.searchIconColor [lazy] #7f8b91e6 90% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconPressedColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] + + #---- Separator ---- Separator.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt index 2a118223..d67e290f 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -884,6 +884,25 @@ ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI +#---- SearchField ---- + +SearchField.clearIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.clearIconColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconHoverColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.clearRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.icon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.popupIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.popupPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.popupRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.pressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.rolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.searchIconColor [lazy] #7f8b91e6 90% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconPressedColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] + + #---- Separator ---- Separator.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt index 833e85f4..4df81a7b 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt @@ -883,6 +883,25 @@ ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI +#---- SearchField ---- + +SearchField.clearIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.clearIconColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconHoverColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.clearRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] +SearchField.icon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.popupIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.popupPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.popupRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] +SearchField.pressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.rolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] +SearchField.searchIconColor [lazy] #7f8b91e6 90% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconPressedColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] + + #---- Separator ---- Separator.background #ccffcc javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java index 7b982cc5..07e7afd0 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java @@ -124,6 +124,11 @@ public class FlatSwingXTest JTextField textField3 = new JTextField(); JLabel label10 = new JLabel(); JTextField textField4 = new JTextField(); + JLabel label11 = new JLabel(); + JXSearchField xSearchField1 = new JXSearchField(); + JXSearchField xSearchField2 = new JXSearchField(); + JXSearchField xSearchField3 = new JXSearchField(); + JXSearchField xSearchField4 = new JXSearchField(); JButton button1 = new JButton(); JButton button2 = new JButton(); @@ -146,6 +151,8 @@ public class FlatSwingXTest "[]" + "[]" + "[]" + + "[]" + + "[]" + "[37]")); //---- label1 ---- @@ -425,6 +432,30 @@ public class FlatSwingXTest } add(xTitledPanel2, "cell 3 8,grow"); + //---- label11 ---- + label11.setText("JXSearchField:"); + add(label11, "cell 0 9"); + + //---- xSearchField1 ---- + xSearchField1.setText("abc"); + add(xSearchField1, "cell 1 9,growx"); + + //---- xSearchField2 ---- + xSearchField2.setEnabled(false); + xSearchField2.setText("abc"); + add(xSearchField2, "cell 2 9,growx"); + + //---- xSearchField3 ---- + xSearchField3.setRecentSearchesSaveKey("flatlaf.swingx.search.recent"); + xSearchField3.setText("abc"); + add(xSearchField3, "cell 1 10,growx"); + + //---- xSearchField4 ---- + xSearchField4.setRecentSearchesSaveKey("flatlaf.swingx.search.recent"); + xSearchField4.setEnabled(false); + xSearchField4.setText("abc"); + add(xSearchField4, "cell 2 10,growx"); + //---- button1 ---- button1.setText("<"); diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd index 567d0e87..a4d1affd 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.0.0.194" Java: "11.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.4.0.360" Java: "16" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -9,7 +9,7 @@ new FormModel { add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "ltr,insets dialog,hidemode 3" "$columnConstraints": "[left][][][][fill]" - "$rowConstraints": "[]0[][]0[top][][][][][][37]" + "$rowConstraints": "[]0[][]0[top][][][][][][][][37]" } ) { name: "this" add( new FormComponent( "javax.swing.JLabel" ) { @@ -354,6 +354,40 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 3 8,grow" } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label11" + "text": "JXSearchField:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 9" + } ) + add( new FormComponent( "org.jdesktop.swingx.JXSearchField" ) { + name: "xSearchField1" + "text": "abc" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 9,growx" + } ) + add( new FormComponent( "org.jdesktop.swingx.JXSearchField" ) { + name: "xSearchField2" + "enabled": false + "text": "abc" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 9,growx" + } ) + add( new FormComponent( "org.jdesktop.swingx.JXSearchField" ) { + name: "xSearchField3" + "recentSearchesSaveKey": "flatlaf.swingx.search.recent" + "text": "abc" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 10,growx" + } ) + add( new FormComponent( "org.jdesktop.swingx.JXSearchField" ) { + name: "xSearchField4" + "recentSearchesSaveKey": "flatlaf.swingx.search.recent" + "enabled": false + "text": "abc" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 10,growx" + } ) }, new FormLayoutConstraints( null ) { "location": new java.awt.Point( 0, 0 ) "size": new java.awt.Dimension( 700, 600 ) diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt index 6c84a82b..c50e3328 100644 --- a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt @@ -650,6 +650,21 @@ ScrollPane.font ScrollPane.foreground ScrollPane.smoothScrolling ScrollPaneUI +SearchField.clearIcon +SearchField.clearIconColor +SearchField.clearIconHoverColor +SearchField.clearIconPressedColor +SearchField.clearPressedIcon +SearchField.clearRolloverIcon +SearchField.icon +SearchField.popupIcon +SearchField.popupPressedIcon +SearchField.popupRolloverIcon +SearchField.pressedIcon +SearchField.rolloverIcon +SearchField.searchIconColor +SearchField.searchIconHoverColor +SearchField.searchIconPressedColor Separator.background Separator.foreground Separator.height From f752db5892e41f37901fbb3975d1ed32c3108722 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Wed, 4 Aug 2021 11:15:18 +0200 Subject: [PATCH 15/81] FileChooser: fixed missing (localized) texts when FlatLaf is loaded in special classloader (e.g. plugin system in Apache NetBeans) https://issues.apache.org/jira/browse/NETBEANS-5865 --- CHANGELOG.md | 2 + .../java/com/formdev/flatlaf/FlatLaf.java | 47 ++++++++++++++++++- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0e3a957..da30afa2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ FlatLaf Change Log set. (issue #364) - ComboBox and Spinner: Limit arrow button width if component has large preferred height. (issue #361) +- FileChooser: Fixed missing (localized) texts when FlatLaf is loaded in special + classloader (e.g. plugin system in Apache NetBeans). - InternalFrame: Limit internal frame bounds to parent bounds on resize. Also honor maximum size of internal frame. (issue #362) - Popup: Fixed incorrectly placed drop shadow for medium-weight popups in diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index f408aaa5..6239b192 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -32,10 +32,13 @@ import java.beans.PropertyChangeListener; import java.io.File; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.MissingResourceException; import java.util.Properties; +import java.util.ResourceBundle; import java.util.ServiceLoader; import java.util.function.Consumer; import java.util.function.Function; @@ -66,6 +69,7 @@ import com.formdev.flatlaf.ui.FlatRootPaneUI; import com.formdev.flatlaf.util.GrayFilter; import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.MultiResolutionImageSupport; +import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.SystemInfo; import com.formdev.flatlaf.util.UIScale; @@ -356,8 +360,8 @@ public abstract class FlatLaf // (can be queried without using FlatLaf API) defaults.put( "laf.dark", isDark() ); - // add resource bundle for localized texts - defaults.addResourceBundle( "com.formdev.flatlaf.resources.Bundle" ); + // init resource bundle for localized texts + initResourceBundle( defaults, "com.formdev.flatlaf.resources.Bundle" ); // initialize some defaults (for overriding) that are used in UI delegates, // but are not set in BasicLookAndFeel @@ -453,6 +457,45 @@ public abstract class FlatLaf return null; } + private void initResourceBundle( UIDefaults defaults, String bundleName ) { + // add resource bundle for localized texts + defaults.addResourceBundle( bundleName ); + + // Check whether Swing can not load the FlatLaf resource bundle, + // which can happen in applications that use some plugin system + // and load FlatLaf in a plugin that uses its own classloader. + // (e.g. Apache NetBeans) + if( defaults.get( "FileChooser.fileNameHeaderText" ) != null ) + return; + + // load FlatLaf resource bundle and add content to defaults + try { + ResourceBundle bundle = ResourceBundle.getBundle( bundleName, defaults.getDefaultLocale() ); + + Enumeration keys = bundle.getKeys(); + while( keys.hasMoreElements() ) { + String key = keys.nextElement(); + String value = bundle.getString( key ); + + String baseKey = StringUtils.removeTrailing( key, ".textAndMnemonic" ); + if( baseKey != key ) { + String text = value.replace( "&", "" ); + String mnemonic = null; + int index = value.indexOf( '&' ); + if( index >= 0 ) + mnemonic = Integer.toString( Character.toUpperCase( value.charAt( index + 1 ) ) ); + + defaults.put( baseKey + "Text", text ); + if( mnemonic != null ) + defaults.put( baseKey + "Mnemonic", mnemonic ); + } else + defaults.put( key, value ); + } + } catch( MissingResourceException ex ) { + LoggingFacade.INSTANCE.logSevere( null, ex ); + } + } + private void initFonts( UIDefaults defaults ) { FontUIResource uiFont = null; From 5782ceeb5df14fea255b71d2b67f5d6e5763cd9b Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Wed, 4 Aug 2021 14:27:57 +0200 Subject: [PATCH 16/81] README.md: added descriptions to addons --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 79a647b5..f8c441fd 100644 --- a/README.md +++ b/README.md @@ -67,10 +67,13 @@ docs). Addons ------ -- [IntelliJ Themes Pack](flatlaf-intellij-themes) -- [Extras](flatlaf-extras) -- [SwingX](flatlaf-swingx) -- [JIDE Common Layer](flatlaf-jide-oss) +- [IntelliJ Themes Pack](flatlaf-intellij-themes) - bundles many popular + open-source 3rd party themes +- [Extras](flatlaf-extras) - SVG icon, tri-state check box, UI inspectors, and + more +- [SwingX](flatlaf-swingx) - support for SwingX components +- [JIDE Common Layer](flatlaf-jide-oss) - support for JIDE Common Layer + components Getting started From 6fcee037521bb21d44b82d2cefa8bc9ccdee23e1 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Wed, 4 Aug 2021 15:13:58 +0200 Subject: [PATCH 17/81] release 1.5 --- CHANGELOG.md | 2 +- build.gradle.kts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da30afa2..5746d5b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ FlatLaf Change Log ================== -## 1.5-SNAPSHOT +## 1.5 #### New features and improvements diff --git a/build.gradle.kts b/build.gradle.kts index b7383d91..711ea707 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,8 +14,8 @@ * limitations under the License. */ -val releaseVersion = "1.4" -val developmentVersion = "1.5-SNAPSHOT" +val releaseVersion = "1.5" +val developmentVersion = "1.6-SNAPSHOT" version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion From 7f7f9e3c7c4351e758a0f316cf2b58e7ef553ad9 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 5 Aug 2021 11:40:28 +0200 Subject: [PATCH 18/81] UIDefaultsLoader: added changeHue(), changeSaturation(), changeLightness() and changeAlpha() color functions (inspired by Sass CSS color.change() function) --- .../com/formdev/flatlaf/UIDefaultsLoader.java | 34 +++++++++++++++ .../formdev/flatlaf/util/ColorFunctions.java | 41 ++++++++++++++++++- .../themeeditor/FlatCompletionProvider.java | 15 ++++++- .../themeeditor/FlatThemeTokenMaker.java | 8 ++++ .../theme-editor-test.properties | 5 +++ 5 files changed, 101 insertions(+), 2 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index 7ef295a0..fd703cd2 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -604,6 +604,10 @@ class UIDefaultsLoader case "fadeout": return parseColorHSLIncreaseDecrease( 3, false, params, resolver, reportError ); case "fade": return parseColorFade( params, resolver, reportError ); case "spin": return parseColorSpin( params, resolver, reportError ); + case "changeHue": return parseColorChange( 0, params, resolver, reportError ); + case "changeSaturation":return parseColorChange( 1, params, resolver, reportError ); + case "changeLightness": return parseColorChange( 2, params, resolver, reportError ); + case "changeAlpha": return parseColorChange( 3, params, resolver, reportError ); } } finally { parseColorDepth--; @@ -753,6 +757,36 @@ class UIDefaultsLoader return parseFunctionBaseColor( colorStr, function, derived, resolver, reportError ); } + /** + * Syntax: changeHue(color,value[,options]) or + * changeSaturation(color,value[,options]) or + * changeLightness(color,value[,options]) or + * changeAlpha(color,value[,options]) + * - color: a color (e.g. #f00) or a color function + * - value: for hue: number of degrees; otherwise: percentage 0-100% + * - options: [derived] + */ + private static Object parseColorChange( int hslIndex, + List params, Function resolver, boolean reportError ) + { + String colorStr = params.get( 0 ); + int value = (hslIndex == 0) + ? parseInteger( params.get( 1 ), true ) + : parsePercentage( params.get( 1 ) ); + boolean derived = false; + + if( params.size() > 2 ) { + String options = params.get( 2 ); + derived = options.contains( "derived" ); + } + + // create function + ColorFunction function = new ColorFunctions.HSLChange( hslIndex, value ); + + // parse base color, apply function and create derived color + return parseFunctionBaseColor( colorStr, function, derived, resolver, reportError ); + } + private static Object parseFunctionBaseColor( String colorStr, ColorFunction function, boolean derived, Function resolver, boolean reportError ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java index 66c7cf20..65011cf4 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java @@ -145,7 +145,46 @@ public class ColorFunctions } } - //---- class HSLIncreaseDecrease ------------------------------------------ + //---- class HSLChange ---------------------------------------------------- + + /** + * Set the hue, saturation, luminance or alpha of a color. + * + * @since 1.6 + */ + public static class HSLChange + implements ColorFunction + { + public final int hslIndex; + public final float value; + + public HSLChange( int hslIndex, float value ) { + this.hslIndex = hslIndex; + this.value = value; + } + + @Override + public void apply( float[] hsla ) { + hsla[hslIndex] = (hslIndex == 0) + ? value % 360 + : clamp( value ); + } + + @Override + public String toString() { + String name; + switch( hslIndex ) { + case 0: name = "changeHue"; break; + case 1: name = "changeSaturation"; break; + case 2: name = "changeLightness"; break; + case 3: name = "changeAlpha"; break; + default: throw new IllegalArgumentException(); + } + return String.format( "%s(%.0f%s)", name, value, (hslIndex == 0 ? "" : "%") ); + } + } + + //---- class Fade --------------------------------------------------------- /** * Set the alpha of a color. diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java index c26f9bde..340d3494 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java @@ -355,8 +355,21 @@ class FlatCompletionProvider "options", "(optional) [derived]" ); addFunction( "spin", "color", colorParamDesc, - "angle", "number of degrees to rotate", + "angle", "number of degrees to rotate (0-360)", "options", "(optional) [derived]" ); + + addFunction( "changeHue", + "color", colorParamDesc, + "angle", "number of degrees (0-360)", + "options", "(optional) [derived]" ); + String[] hslChangeParams = { + "color", colorParamDesc, + "value", "0-100%", + "options", "(optional) [derived]" + }; + addFunction( "changeSaturation", hslChangeParams ); + addFunction( "changeLightness", hslChangeParams ); + addFunction( "changeAlpha", hslChangeParams ); } private void addFunction( String name, String... paramNamesAndDescs ) { diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java index f8d7adc3..5a6a638e 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java @@ -60,6 +60,14 @@ public class FlatThemeTokenMaker tokenMap.put( "darken", TOKEN_FUNCTION ); tokenMap.put( "saturate", TOKEN_FUNCTION ); tokenMap.put( "desaturate", TOKEN_FUNCTION ); + tokenMap.put( "fadein", TOKEN_FUNCTION ); + tokenMap.put( "fadeout", TOKEN_FUNCTION ); + tokenMap.put( "fade", TOKEN_FUNCTION ); + tokenMap.put( "spin", TOKEN_FUNCTION ); + tokenMap.put( "changeHue", TOKEN_FUNCTION ); + tokenMap.put( "changeSaturation", TOKEN_FUNCTION ); + tokenMap.put( "changeLightness", TOKEN_FUNCTION ); + tokenMap.put( "changeAlpha", TOKEN_FUNCTION ); tokenMap.put( "lazy", TOKEN_FUNCTION ); // function options diff --git a/flatlaf-theme-editor/theme-editor-test.properties b/flatlaf-theme-editor/theme-editor-test.properties index d9c49e32..2ebe8501 100644 --- a/flatlaf-theme-editor/theme-editor-test.properties +++ b/flatlaf-theme-editor/theme-editor-test.properties @@ -49,3 +49,8 @@ Prop.colorFunc13 = spin($Prop.colorFunc12,40) Prop.colorFunc14 = spin($Prop.colorFunc12,-40) Prop.colorFunc15 = spin($Prop.colorFunc12,400) Prop.colorFunc16 = spin($Prop.colorFunc12,-400) + +Prop.colorFunc20 = changeHue(#f00,180) +Prop.colorFunc21 = changeSaturation(#f00,50%) +Prop.colorFunc22 = changeLightness(#f00,80%) +Prop.colorFunc23 = changeAlpha(#f00,50%) From 02b1ba2926550b0676ed770f5973267e7153f4f3 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 5 Aug 2021 18:19:42 +0200 Subject: [PATCH 19/81] UIDefaultsLoader: added mix() color function (inspired by Less CSS) --- .../com/formdev/flatlaf/UIDefaultsLoader.java | 29 +++++++++++++ .../formdev/flatlaf/util/ColorFunctions.java | 41 +++++++++++++++++++ .../themeeditor/FlatCompletionProvider.java | 5 +++ .../themeeditor/FlatThemeTokenMaker.java | 1 + .../theme-editor-test.properties | 8 ++++ 5 files changed, 84 insertions(+) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index fd703cd2..bbfcbaf2 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -608,6 +608,7 @@ class UIDefaultsLoader case "changeSaturation":return parseColorChange( 1, params, resolver, reportError ); case "changeLightness": return parseColorChange( 2, params, resolver, reportError ); case "changeAlpha": return parseColorChange( 3, params, resolver, reportError ); + case "mix": return parseColorMix( params, resolver, reportError ); } } finally { parseColorDepth--; @@ -787,6 +788,34 @@ class UIDefaultsLoader return parseFunctionBaseColor( colorStr, function, derived, resolver, reportError ); } + /** + * Syntax: mix(color1,color2[,weight]) + * - color1: a color (e.g. #f00) or a color function + * - color2: a color (e.g. #f00) or a color function + * - weight: the weight (in range 0-100%) to mix the two colors + * larger weight uses more of first color, smaller weight more of second color + */ + private static Object parseColorMix( List params, Function resolver, boolean reportError ) { + String color1Str = params.get( 0 ); + String color2Str = params.get( 1 ); + int weight = 50; + + if( params.size() > 2 ) + weight = parsePercentage( params.get( 2 ) ); + + // parse second color + String resolvedColor2Str = resolver.apply( color2Str ); + ColorUIResource color2 = (ColorUIResource) parseColorOrFunction( resolvedColor2Str, resolver, reportError ); + if( color2 == null ) + return null; + + // create function + ColorFunction function = new ColorFunctions.Mix( color2, weight ); + + // parse first color, apply function and create mixed color + return parseFunctionBaseColor( color1Str, function, false, resolver, reportError ); + } + private static Object parseFunctionBaseColor( String colorStr, ColorFunction function, boolean derived, Function resolver, boolean reportError ) { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java index 65011cf4..0b7e99f9 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/util/ColorFunctions.java @@ -26,13 +26,16 @@ import java.awt.Color; public class ColorFunctions { public static Color applyFunctions( Color color, ColorFunction... functions ) { + // convert RGB to HSL float[] hsl = HSLColor.fromRGB( color ); float alpha = color.getAlpha() / 255f; float[] hsla = { hsl[0], hsl[1], hsl[2], alpha * 100 }; + // apply color functions for( ColorFunction function : functions ) function.apply( hsla ); + // convert HSL to RGB return HSLColor.toRGB( hsla[0], hsla[1], hsla[2], hsla[3] / 100 ); } @@ -208,4 +211,42 @@ public class ColorFunctions return String.format( "fade(%.0f%%)", amount ); } } + + //---- class Mix ---------------------------------------------------------- + + /** + * Mix two colors. + * + * @since 1.6 + */ + public static class Mix + implements ColorFunction + { + public final Color color2; + public final float weight; + + public Mix( Color color2, float weight ) { + this.color2 = color2; + this.weight = weight; + } + + @Override + public void apply( float[] hsla ) { + // convert from HSL to RGB because color mixing is done on RGB values + Color color1 = HSLColor.toRGB( hsla[0], hsla[1], hsla[2], hsla[3] / 100 ); + + // mix + Color color = mix( color1, color2, weight / 100 ); + + // convert RGB to HSL + float[] hsl = HSLColor.fromRGB( color ); + System.arraycopy( hsl, 0, hsla, 0, hsl.length ); + hsla[3] = (color.getAlpha() / 255f) * 100; + } + + @Override + public String toString() { + return String.format( "mix(#%08x,%.0f%%)", color2.getRGB(), weight ); + } + } } diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java index 340d3494..25a4793d 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java @@ -370,6 +370,11 @@ class FlatCompletionProvider addFunction( "changeSaturation", hslChangeParams ); addFunction( "changeLightness", hslChangeParams ); addFunction( "changeAlpha", hslChangeParams ); + + addFunction( "mix", + "color1", colorParamDesc, + "color2", colorParamDesc, + "weight", "(optional) 0-100%, default is 50%" ); } private void addFunction( String name, String... paramNamesAndDescs ) { diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java index 5a6a638e..895d2dac 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java @@ -68,6 +68,7 @@ public class FlatThemeTokenMaker tokenMap.put( "changeSaturation", TOKEN_FUNCTION ); tokenMap.put( "changeLightness", TOKEN_FUNCTION ); tokenMap.put( "changeAlpha", TOKEN_FUNCTION ); + tokenMap.put( "mix", TOKEN_FUNCTION ); tokenMap.put( "lazy", TOKEN_FUNCTION ); // function options diff --git a/flatlaf-theme-editor/theme-editor-test.properties b/flatlaf-theme-editor/theme-editor-test.properties index 2ebe8501..48ffbb82 100644 --- a/flatlaf-theme-editor/theme-editor-test.properties +++ b/flatlaf-theme-editor/theme-editor-test.properties @@ -54,3 +54,11 @@ Prop.colorFunc20 = changeHue(#f00,180) Prop.colorFunc21 = changeSaturation(#f00,50%) Prop.colorFunc22 = changeLightness(#f00,80%) Prop.colorFunc23 = changeAlpha(#f00,50%) + +Prop.colorFunc30 = mix(#f00,#0f0,10%) +Prop.colorFunc31 = mix(#f00,#0f0,25%) +Prop.colorFunc32 = mix(#f00,#0f0) +Prop.colorFunc33 = mix(#f00,#0f0,75%) +Prop.colorFunc34 = mix(#f00,#0f0,90%) +Prop.colorFunc35 = mix($Prop.color1,$Prop.color2) +Prop.colorFunc36 = mix($Prop.colorFunc20,$Prop.colorFunc30) From 3f5acda132fafb58b1ed40ce0de6647dda02a1d3 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 5 Aug 2021 18:49:03 +0200 Subject: [PATCH 20/81] UI defaults inspector: round HSL values (as also done in theme editor) --- .../flatlaf/extras/FlatUIDefaultsInspector.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatUIDefaultsInspector.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatUIDefaultsInspector.java index 6a49e7c8..596f490e 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatUIDefaultsInspector.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/FlatUIDefaultsInspector.java @@ -700,16 +700,16 @@ public class FlatUIDefaultsInspector if( value instanceof Color ) { Color color = (info instanceof Color[]) ? ((Color[])info)[0] : (Color) value; HSLColor hslColor = new HSLColor( color ); + int hue = Math.round( hslColor.getHue() ); + int saturation = Math.round( hslColor.getSaturation() ); + int luminance = Math.round( hslColor.getLuminance() ); if( color.getAlpha() == 255 ) { return String.format( "%-9s HSL %3d %3d %3d", - color2hex( color ), - (int) hslColor.getHue(), (int) hslColor.getSaturation(), - (int) hslColor.getLuminance() ); + color2hex( color ), hue, saturation, luminance ); } else { + int alpha = Math.round( hslColor.getAlpha() * 100 ); return String.format( "%-9s HSL %3d %3d %3d %2d", - color2hex( color ), - (int) hslColor.getHue(), (int) hslColor.getSaturation(), - (int) hslColor.getLuminance(), (int) (hslColor.getAlpha() * 100) ); + color2hex( color ), hue, saturation, luminance, alpha ); } } else if( value instanceof Insets ) { Insets insets = (Insets) value; From 0544a605c353308a154095f705828b55e71a724f Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 5 Aug 2021 23:37:42 +0200 Subject: [PATCH 21/81] UIDefaultsLoader: added tint() and shade() color functions (inspired by Less CSS) --- .../com/formdev/flatlaf/UIDefaultsLoader.java | 20 ++++++++++++------- .../themeeditor/FlatCompletionProvider.java | 9 ++++++++- .../themeeditor/FlatThemeTokenMaker.java | 2 ++ .../theme-editor-test.properties | 8 ++++++++ 4 files changed, 31 insertions(+), 8 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index bbfcbaf2..1b6d1ab3 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -608,7 +608,9 @@ class UIDefaultsLoader case "changeSaturation":return parseColorChange( 1, params, resolver, reportError ); case "changeLightness": return parseColorChange( 2, params, resolver, reportError ); case "changeAlpha": return parseColorChange( 3, params, resolver, reportError ); - case "mix": return parseColorMix( params, resolver, reportError ); + case "mix": return parseColorMix( null, params, resolver, reportError ); + case "tint": return parseColorMix( "#fff", params, resolver, reportError ); + case "shade": return parseColorMix( "#000", params, resolver, reportError ); } } finally { parseColorDepth--; @@ -789,19 +791,23 @@ class UIDefaultsLoader } /** - * Syntax: mix(color1,color2[,weight]) + * Syntax: mix(color1,color2[,weight]) or + * tint(color[,weight]) or + * shade(color[,weight]) * - color1: a color (e.g. #f00) or a color function * - color2: a color (e.g. #f00) or a color function * - weight: the weight (in range 0-100%) to mix the two colors * larger weight uses more of first color, smaller weight more of second color */ - private static Object parseColorMix( List params, Function resolver, boolean reportError ) { - String color1Str = params.get( 0 ); - String color2Str = params.get( 1 ); + private static Object parseColorMix( String color1Str, List params, Function resolver, boolean reportError ) { + int i = 0; + if( color1Str == null ) + color1Str = params.get( i++ ); + String color2Str = params.get( i++ ); int weight = 50; - if( params.size() > 2 ) - weight = parsePercentage( params.get( 2 ) ); + if( params.size() > i ) + weight = parsePercentage( params.get( i++ ) ); // parse second color String resolvedColor2Str = resolver.apply( color2Str ); diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java index 25a4793d..cc759bb9 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java @@ -371,10 +371,17 @@ class FlatCompletionProvider addFunction( "changeLightness", hslChangeParams ); addFunction( "changeAlpha", hslChangeParams ); + String weightParamDesc = "(optional) 0-100%, default is 50%"; addFunction( "mix", "color1", colorParamDesc, "color2", colorParamDesc, - "weight", "(optional) 0-100%, default is 50%" ); + "weight", weightParamDesc ); + addFunction( "tint", + "color", colorParamDesc, + "weight", weightParamDesc ); + addFunction( "shade", + "color", colorParamDesc, + "weight", weightParamDesc ); } private void addFunction( String name, String... paramNamesAndDescs ) { diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java index 895d2dac..9ad9ab87 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java @@ -69,6 +69,8 @@ public class FlatThemeTokenMaker tokenMap.put( "changeLightness", TOKEN_FUNCTION ); tokenMap.put( "changeAlpha", TOKEN_FUNCTION ); tokenMap.put( "mix", TOKEN_FUNCTION ); + tokenMap.put( "tint", TOKEN_FUNCTION ); + tokenMap.put( "shade", TOKEN_FUNCTION ); tokenMap.put( "lazy", TOKEN_FUNCTION ); // function options diff --git a/flatlaf-theme-editor/theme-editor-test.properties b/flatlaf-theme-editor/theme-editor-test.properties index 48ffbb82..66a11c82 100644 --- a/flatlaf-theme-editor/theme-editor-test.properties +++ b/flatlaf-theme-editor/theme-editor-test.properties @@ -62,3 +62,11 @@ Prop.colorFunc33 = mix(#f00,#0f0,75%) Prop.colorFunc34 = mix(#f00,#0f0,90%) Prop.colorFunc35 = mix($Prop.color1,$Prop.color2) Prop.colorFunc36 = mix($Prop.colorFunc20,$Prop.colorFunc30) + +Prop.colorFunc40 = tint(#f0f,25%) +Prop.colorFunc41 = tint(#f0f) +Prop.colorFunc42 = tint(#f0f,75%) + +Prop.colorFunc45 = shade(#f0f,25%) +Prop.colorFunc46 = shade(#f0f) +Prop.colorFunc47 = shade(#f0f,75%) From bfb1642284dd2e99a6b48ca8ef0095a83f490dc5 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Fri, 6 Aug 2021 10:45:57 +0200 Subject: [PATCH 22/81] UIDefaultsDump: dump HSL color values --- .../uidefaults/FlatDarculaLaf_1.8.0_202.txt | 10 +- .../uidefaults/FlatDarkLaf_1.8.0_202.txt | 1024 ++++++++-------- .../uidefaults/FlatIntelliJLaf_1.8.0_202.txt | 38 +- .../uidefaults/FlatLightLaf_1.8.0_202.txt | 1038 ++++++++-------- .../uidefaults/FlatTestLaf_1.8.0_202.txt | 1056 ++++++++--------- .../testing/uidefaults/UIDefaultsDump.java | 33 +- 6 files changed, 1612 insertions(+), 1587 deletions(-) diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0_202.txt index 3f8b2da4..90eae36a 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0_202.txt @@ -18,7 +18,7 @@ #---- CheckBox ---- -- CheckBox.icon.focusedBackground #466d944d 30% javax.swing.plaf.ColorUIResource [UI] +- CheckBox.icon.focusedBackground #466d944d 30% HSLA 210 36 43 30 javax.swing.plaf.ColorUIResource [UI] #---- ComboBox ---- @@ -71,11 +71,11 @@ #---- ProgressBar ---- -- ProgressBar.foreground #4a88c7 javax.swing.plaf.ColorUIResource [UI] -+ ProgressBar.foreground #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +- ProgressBar.foreground #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] ++ ProgressBar.foreground #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] -- ProgressBar.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -+ ProgressBar.selectionForeground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +- ProgressBar.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] ++ ProgressBar.selectionForeground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] #---- RadioButton ---- diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt index 8dab6a59..2f401fdc 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -12,12 +12,12 @@ AATextInfoPropertyKey [unknown type] sun.swing.SwingUtilities2$AATextIn #---- Actions ---- -Actions.Blue #3592c4 javax.swing.plaf.ColorUIResource [UI] -Actions.Green #499c54 javax.swing.plaf.ColorUIResource [UI] -Actions.Grey #afb1b3 javax.swing.plaf.ColorUIResource [UI] -Actions.GreyInline #7f8b91 javax.swing.plaf.ColorUIResource [UI] -Actions.Red #c75450 javax.swing.plaf.ColorUIResource [UI] -Actions.Yellow #f0a732 javax.swing.plaf.ColorUIResource [UI] +Actions.Blue #3592c4 HSL 201 57 49 javax.swing.plaf.ColorUIResource [UI] +Actions.Green #499c54 HSL 128 36 45 javax.swing.plaf.ColorUIResource [UI] +Actions.Grey #afb1b3 HSL 210 3 69 javax.swing.plaf.ColorUIResource [UI] +Actions.GreyInline #7f8b91 HSL 200 8 53 javax.swing.plaf.ColorUIResource [UI] +Actions.Red #c75450 HSL 2 52 55 javax.swing.plaf.ColorUIResource [UI] +Actions.Yellow #f0a732 HSL 37 86 57 javax.swing.plaf.ColorUIResource [UI] #---- AuditoryCues ---- @@ -62,49 +62,49 @@ BusyLabelUI com.formdev.flatlaf.swingx.ui.FlatBusyLabelUI #---- Button ---- Button.arc 6 -Button.background #4c5052 javax.swing.plaf.ColorUIResource [UI] +Button.background #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] Button.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -Button.borderColor #5e6060 javax.swing.plaf.ColorUIResource [UI] +Button.borderColor #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] Button.borderWidth 1 -Button.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -Button.default.background #365880 javax.swing.plaf.ColorUIResource [UI] +Button.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +Button.default.background #365880 HSL 212 41 36 javax.swing.plaf.ColorUIResource [UI] Button.default.boldText true -Button.default.borderColor #4c708c javax.swing.plaf.ColorUIResource [UI] +Button.default.borderColor #4c708c HSL 206 30 42 javax.swing.plaf.ColorUIResource [UI] Button.default.borderWidth 1 -Button.default.focusColor #43688c javax.swing.plaf.ColorUIResource [UI] -Button.default.focusedBorderColor #537699 javax.swing.plaf.ColorUIResource [UI] -Button.default.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Button.default.hoverBackground #3b5f8b com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -Button.default.hoverBorderColor #537699 javax.swing.plaf.ColorUIResource [UI] -Button.default.pressedBackground #3f6796 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) +Button.default.focusColor #43688c HSL 210 35 41 javax.swing.plaf.ColorUIResource [UI] +Button.default.focusedBorderColor #537699 HSL 210 30 46 javax.swing.plaf.ColorUIResource [UI] +Button.default.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.default.hoverBackground #3b5f8b HSL 213 40 39 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) +Button.default.hoverBorderColor #537699 HSL 210 30 46 javax.swing.plaf.ColorUIResource [UI] +Button.default.pressedBackground #3f6796 HSL 212 41 42 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) Button.defaultButtonFollowsFocus false -Button.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -Button.disabledBorderColor #5e6060 javax.swing.plaf.ColorUIResource [UI] -Button.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] -Button.disabledSelectedBackground #53585a com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -Button.disabledText #888888 javax.swing.plaf.ColorUIResource [UI] -Button.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] +Button.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +Button.disabledBorderColor #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] +Button.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Button.disabledSelectedBackground #53585a HSL 197 4 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) +Button.disabledText #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Button.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] Button.font [active] $defaultFont [UI] -Button.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Button.highlight #242424 javax.swing.plaf.ColorUIResource [UI] -Button.hoverBackground #53585a com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -Button.hoverBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] +Button.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +Button.hoverBackground #53585a HSL 197 4 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) +Button.hoverBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] Button.iconTextGap 4 Button.innerFocusWidth 1 -Button.light #313131 javax.swing.plaf.ColorUIResource [UI] +Button.light #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] Button.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [UI] Button.minimumWidth 72 -Button.pressedBackground #5b5f62 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) +Button.pressedBackground #5b5f62 HSL 206 4 37 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) Button.rollover true -Button.selectedBackground #656a6c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -Button.selectedForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Button.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +Button.selectedBackground #656a6c HSL 197 3 41 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +Button.selectedForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] Button.textIconGap 4 Button.textShiftOffset 0 -Button.toolbar.hoverBackground #4e5355 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) +Button.toolbar.hoverBackground #4e5355 HSL 197 4 32 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) Button.toolbar.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -Button.toolbar.pressedBackground #565a5d com.formdev.flatlaf.util.DerivedColor [UI] lighten(4% autoInverse) -Button.toolbar.selectedBackground #5d6265 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) +Button.toolbar.pressedBackground #565a5d HSL 206 4 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(4% autoInverse) +Button.toolbar.selectedBackground #5d6265 HSL 203 4 38 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) Button.toolbar.spacingInsets 1,2,1,2 javax.swing.plaf.InsetsUIResource [UI] ButtonUI com.formdev.flatlaf.ui.FlatButtonUI @@ -117,31 +117,31 @@ Caret.width [active] 1 #---- CheckBox ---- CheckBox.arc 4 -CheckBox.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +CheckBox.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -CheckBox.disabledText #888888 javax.swing.plaf.ColorUIResource [UI] +CheckBox.disabledText #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] -CheckBox.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.background #43494a javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.borderColor #6b6b6b javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.checkmarkColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledBorderColor #545556 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledCheckmarkColor #606060 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.focusedBackground #466d944d 30% javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.hoverBackground #4a5152 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -CheckBox.icon.hoverBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.pressedBackground #52595a com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) -CheckBox.icon.selectedBackground #43494a javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.selectedBorderColor #6b6b6b javax.swing.plaf.ColorUIResource [UI] +CheckBox.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.background #43494a HSL 189 5 28 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.borderColor #6b6b6b HSL 0 0 42 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.checkmarkColor #a7a7a7 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledBorderColor #545556 HSL 210 1 33 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledCheckmarkColor #606060 HSL 0 0 38 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.focusedBackground #466d944d 30% HSLA 210 36 43 30 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.hoverBackground #4a5152 HSL 188 5 31 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) +CheckBox.icon.hoverBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.pressedBackground #52595a HSL 188 5 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) +CheckBox.icon.selectedBackground #43494a HSL 189 5 28 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.selectedBorderColor #6b6b6b HSL 0 0 42 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 -CheckBox.icon[filled].checkmarkColor #43494a javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedBackground #a7a7a7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedBorderColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedHoverBackground #9f9f9f com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -CheckBox.icon[filled].selectedPressedBackground #989898 com.formdev.flatlaf.util.DerivedColor [UI] darken(6% autoInverse) +CheckBox.icon[filled].checkmarkColor #43494a HSL 189 5 28 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBackground #a7a7a7 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBorderColor #a7a7a7 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedHoverBackground #9f9f9f HSL 0 0 62 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +CheckBox.icon[filled].selectedPressedBackground #989898 HSL 0 0 60 com.formdev.flatlaf.util.DerivedColor [UI] darken(6% autoInverse) CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 @@ -151,20 +151,20 @@ CheckBox.textShiftOffset 0 #---- CheckBoxMenuItem ---- CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI] -CheckBoxMenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -CheckBoxMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] CheckBoxMenuItem.borderPainted true CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI] -CheckBoxMenuItem.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] -CheckBoxMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false -CheckBoxMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItemUI com.formdev.flatlaf.ui.FlatCheckBoxMenuItemUI @@ -175,10 +175,10 @@ CheckBoxUI com.formdev.flatlaf.ui.FlatCheckBoxUI #---- ColorChooser ---- -ColorChooser.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ColorChooser.font [active] $defaultFont [UI] -ColorChooser.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ColorChooser.swatchesDefaultRecentColor #3c3f41 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.swatchesDefaultRecentColor #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesRecentSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooser.swatchesSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI @@ -186,30 +186,30 @@ ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI #---- ComboBox ---- -ComboBox.background #45494a javax.swing.plaf.ColorUIResource [UI] +ComboBox.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] ComboBox.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -ComboBox.buttonArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonBackground #45494a javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDarkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDisabledArrowColor #5a5d61 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonEditableBackground #404445 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHighlight #242424 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHoverArrowColor #b4b7ba com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -ComboBox.buttonPressedArrowColor #cfd0d2 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) -ComboBox.buttonShadow #646464 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonArrowColor #9a9da1 HSL 214 4 62 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonBackground #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDarkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDisabledArrowColor #5a5d61 HSL 214 4 37 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonEditableBackground #404445 HSL 192 4 26 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonHighlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonHoverArrowColor #b4b7ba HSL 210 4 72 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +ComboBox.buttonPressedArrowColor #cfd0d2 HSL 220 3 82 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +ComboBox.buttonShadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonStyle auto -ComboBox.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] -ComboBox.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +ComboBox.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup false ComboBox.maximumRowCount 15 ComboBox.minimumWidth 72 ComboBox.noActionOnKeyNavigation false ComboBox.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -ComboBox.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -ComboBox.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] ComboBox.timeFactor 1000 ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI @@ -218,22 +218,22 @@ ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI Component.arc 5 Component.arrowType chevron -Component.borderColor #646464 javax.swing.plaf.ColorUIResource [UI] -Component.custom.borderColor #bf4040 com.formdev.flatlaf.util.DerivedColor [UI] desaturate(50% relative) -Component.disabledBorderColor #646464 javax.swing.plaf.ColorUIResource [UI] -Component.error.borderColor #725555 javax.swing.plaf.ColorUIResource [UI] -Component.error.focusedBorderColor #8b3c3c javax.swing.plaf.ColorUIResource [UI] -Component.focusColor #3d6185 javax.swing.plaf.ColorUIResource [UI] +Component.borderColor #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +Component.custom.borderColor #bf4040 HSL 0 50 50 com.formdev.flatlaf.util.DerivedColor [UI] desaturate(50% relative) +Component.disabledBorderColor #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +Component.error.borderColor #725555 HSL 0 15 39 javax.swing.plaf.ColorUIResource [UI] +Component.error.focusedBorderColor #8b3c3c HSL 0 40 39 javax.swing.plaf.ColorUIResource [UI] +Component.focusColor #3d6185 HSL 210 37 38 javax.swing.plaf.ColorUIResource [UI] Component.focusWidth 0 -Component.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] +Component.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter Component.hideMnemonics true Component.innerFocusWidth 0.5 Component.innerOutlineWidth 1.0 -Component.linkColor #589df6 javax.swing.plaf.ColorUIResource [UI] +Component.linkColor #589df6 HSL 214 90 65 javax.swing.plaf.ColorUIResource [UI] Component.minimumWidth 64 -Component.warning.borderColor #725627 javax.swing.plaf.ColorUIResource [UI] -Component.warning.focusedBorderColor #ac7920 javax.swing.plaf.ColorUIResource [UI] +Component.warning.borderColor #725627 HSL 38 49 30 javax.swing.plaf.ColorUIResource [UI] +Component.warning.focusedBorderColor #ac7920 HSL 38 69 40 javax.swing.plaf.ColorUIResource [UI] #---- DatePicker ---- @@ -243,17 +243,17 @@ DatePickerUI com.formdev.flatlaf.swingx.ui.FlatDatePickerUI #---- Desktop ---- -Desktop.background #3e434c javax.swing.plaf.ColorUIResource [UI] +Desktop.background #3e434c HSL 219 10 27 javax.swing.plaf.ColorUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] #---- DesktopIcon ---- -DesktopIcon.background #555c68 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +DesktopIcon.background #555c68 HSL 218 10 37 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) DesktopIcon.border [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] DesktopIcon.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] DesktopIcon.closeSize 20,20 javax.swing.plaf.DimensionUIResource [UI] -DesktopIcon.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +DesktopIcon.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] DesktopIcon.iconSize 64,64 javax.swing.plaf.DimensionUIResource [UI] DesktopIconUI com.formdev.flatlaf.ui.FlatDesktopIconUI @@ -265,18 +265,18 @@ DesktopPaneUI com.formdev.flatlaf.ui.FlatDesktopPaneUI #---- EditorPane ---- -EditorPane.background #45494a javax.swing.plaf.ColorUIResource [UI] +EditorPane.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] EditorPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] EditorPane.caretBlinkRate 500 -EditorPane.caretForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -EditorPane.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +EditorPane.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +EditorPane.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] EditorPane.font [active] $defaultFont [UI] -EditorPane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] +EditorPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -EditorPane.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -EditorPane.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] EditorPaneUI com.formdev.flatlaf.ui.FlatEditorPaneUI @@ -304,19 +304,19 @@ FileView.hardDriveIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatFil #---- FormattedTextField ---- -FormattedTextField.background #45494a javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] FormattedTextField.caretBlinkRate 500 -FormattedTextField.caretForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.font [active] $defaultFont [UI] -FormattedTextField.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.placeholderForeground #888888 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.placeholderForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI com.formdev.flatlaf.ui.FlatFormattedTextFieldUI @@ -327,60 +327,60 @@ HeaderUI com.formdev.flatlaf.swingx.ui.FlatHeaderUI #---- HelpButton ---- -HelpButton.background #43494a javax.swing.plaf.ColorUIResource [UI] -HelpButton.borderColor #6b6b6b javax.swing.plaf.ColorUIResource [UI] +HelpButton.background #43494a HSL 189 5 28 javax.swing.plaf.ColorUIResource [UI] +HelpButton.borderColor #6b6b6b HSL 0 0 42 javax.swing.plaf.ColorUIResource [UI] HelpButton.borderWidth 1 -HelpButton.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -HelpButton.disabledBorderColor #545556 javax.swing.plaf.ColorUIResource [UI] -HelpButton.disabledQuestionMarkColor #606060 javax.swing.plaf.ColorUIResource [UI] -HelpButton.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] -HelpButton.hoverBackground #4a5152 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -HelpButton.hoverBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledBorderColor #545556 HSL 210 1 33 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledQuestionMarkColor #606060 HSL 0 0 38 javax.swing.plaf.ColorUIResource [UI] +HelpButton.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] +HelpButton.hoverBackground #4a5152 HSL 188 5 31 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) +HelpButton.hoverBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] HelpButton.innerFocusWidth 1 -HelpButton.pressedBackground #52595a com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) -HelpButton.questionMarkColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] +HelpButton.pressedBackground #52595a HSL 188 5 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) +HelpButton.questionMarkColor #a7a7a7 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] #---- Hyperlink ---- -Hyperlink.disabledText #888888 javax.swing.plaf.ColorUIResource [UI] -Hyperlink.linkColor #589df6 javax.swing.plaf.ColorUIResource [UI] -Hyperlink.visitedColor #589df6 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.disabledText #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.linkColor #589df6 HSL 214 90 65 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.visitedColor #589df6 HSL 214 90 65 javax.swing.plaf.ColorUIResource [UI] HyperlinkUI com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI #---- InternalFrame ---- -InternalFrame.activeBorderColor #2b2d2e javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeBorderColor #2b2d2e HSL 200 3 17 javax.swing.plaf.ColorUIResource [UI] InternalFrame.activeDropShadowInsets 5,5,6,6 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.activeDropShadowOpacity 0.5 -InternalFrame.activeTitleBackground #242526 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.activeTitleForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleBackground #242526 HSL 210 3 15 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] InternalFrame.border [lazy] 6,6,6,6 false com.formdev.flatlaf.ui.FlatInternalFrameUI$FlatInternalFrameBorder [UI] -InternalFrame.borderColor #3c3f41 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderDarkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderHighlight #242424 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderLight #313131 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderColor #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderDarkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderHighlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderLight #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] InternalFrame.borderLineWidth 1 InternalFrame.borderMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] -InternalFrame.borderShadow #646464 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.buttonHoverBackground #3d3f40 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -InternalFrame.buttonPressedBackground #56585a com.formdev.flatlaf.util.DerivedColor [UI] lighten(20% autoInverse) +InternalFrame.borderShadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.buttonHoverBackground #3d3f40 HSL 200 2 25 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +InternalFrame.buttonPressedBackground #56585a HSL 210 2 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20% autoInverse) InternalFrame.buttonSize 24,24 javax.swing.plaf.DimensionUIResource [UI] -InternalFrame.closeHoverBackground [lazy] #c75450 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closeHoverBackground [lazy] #c75450 HSL 2 52 55 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] InternalFrame.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] -InternalFrame.closePressedBackground [lazy] #ad3b37 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.closePressedForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closePressedBackground [lazy] #ad3b37 HSL 2 52 45 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] InternalFrame.dropShadowPainted true InternalFrame.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) InternalFrame.iconifyIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameIconifyIcon [UI] -InternalFrame.inactiveBorderColor #353739 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveBorderColor #353739 HSL 210 4 22 javax.swing.plaf.ColorUIResource [UI] InternalFrame.inactiveDropShadowInsets 3,3,4,4 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.inactiveDropShadowOpacity 0.75 -InternalFrame.inactiveTitleBackground #303234 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.inactiveTitleForeground #888888 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleBackground #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] InternalFrame.maximizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon [UI] InternalFrame.minimizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameRestoreIcon [UI] InternalFrame.titleFont [active] $defaultFont [UI] @@ -401,8 +401,8 @@ InternalFrameUI com.formdev.flatlaf.ui.FlatInternalFrameUI #---- JXBusyLabel ---- -JXBusyLabel.baseColor #777777 javax.swing.plaf.ColorUIResource [UI] -JXBusyLabel.highlightColor #e0e0e0 javax.swing.plaf.ColorUIResource [UI] +JXBusyLabel.baseColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] +JXBusyLabel.highlightColor #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] #---- JXDatePicker ---- @@ -412,59 +412,59 @@ JXDatePicker.border [lazy] 1,1,1,1 false com.formdev.flatlaf.swin #---- JXHeader ---- -JXHeader.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -JXHeader.startBackground #4c5052 javax.swing.plaf.ColorUIResource [UI] +JXHeader.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +JXHeader.startBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] #---- JXMonthView ---- -JXMonthView.arrowColor #bbbbbb javax.swing.plaf.ColorUIResource [UI] -JXMonthView.background #45494a javax.swing.plaf.ColorUIResource [UI] -JXMonthView.daysOfTheWeekForeground #aaaaaa javax.swing.plaf.ColorUIResource [UI] -JXMonthView.disabledArrowColor #888888 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.flaggedDayForeground #e05555 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.leadingDayForeground #888888 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.arrowColor #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.daysOfTheWeekForeground #aaaaaa HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.disabledArrowColor #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.flaggedDayForeground #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.leadingDayForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] -JXMonthView.monthStringBackground #4c5052 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthStringForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] -JXMonthView.selectedBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -JXMonthView.trailingDayForeground #888888 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.unselectableDayForeground #e05555 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.weekOfTheYearForeground #888888 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.selectedBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.trailingDayForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.unselectableDayForeground #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.weekOfTheYearForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] #---- JXTitledPanel ---- -JXTitledPanel.borderColor #5e6060 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.borderColor #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] JXTitledPanel.captionInsets 4,10,4,10 javax.swing.plaf.InsetsUIResource [UI] -JXTitledPanel.titleBackground #4c5052 javax.swing.plaf.ColorUIResource [UI] -JXTitledPanel.titleForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] #---- JideButton ---- -JideButton.background #4c5052 javax.swing.plaf.ColorUIResource [UI] +JideButton.background #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] JideButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideButton.borderColor #5e6060 javax.swing.plaf.ColorUIResource [UI] -JideButton.darkShadow #5e6060 javax.swing.plaf.ColorUIResource [UI] -JideButton.focusedBackground #4e5355 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) -JideButton.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -JideButton.highlight #656a6c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -JideButton.light #5e6060 javax.swing.plaf.ColorUIResource [UI] +JideButton.borderColor #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] +JideButton.darkShadow #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] +JideButton.focusedBackground #4e5355 HSL 197 4 32 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) +JideButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideButton.highlight #656a6c HSL 197 3 41 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +JideButton.light #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] JideButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideButton.selectedAndFocusedBackground #565a5d com.formdev.flatlaf.util.DerivedColor [UI] lighten(4% autoInverse) -JideButton.selectedBackground #5d6265 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) -JideButton.shadow #5e6060 javax.swing.plaf.ColorUIResource [UI] +JideButton.selectedAndFocusedBackground #565a5d HSL 206 4 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(4% autoInverse) +JideButton.selectedBackground #5d6265 HSL 203 4 38 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) +JideButton.shadow #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] JideButton.textIconGap [active] 4 JideButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideButtonUI #---- JideLabel ---- -JideLabel.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -JideLabel.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] -JideLabel.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +JideLabel.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +JideLabel.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +JideLabel.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] JideLabelUI com.formdev.flatlaf.jideoss.ui.FlatJideLabelUI @@ -475,28 +475,28 @@ JidePopupMenuUI com.formdev.flatlaf.jideoss.ui.FlatJidePopupMenuU #---- JideSplitButton ---- -JideSplitButton.background #4c5052 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.background #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideSplitButton.buttonArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.buttonDisabledArrowColor #5a5d61 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonArrowColor #9a9da1 HSL 214 4 62 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonDisabledArrowColor #5a5d61 HSL 214 4 37 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideSplitButton.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.textIconGap [active] 4 JideSplitButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideSplitButtonUI #---- JideTabbedPane ---- -JideTabbedPane.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.closeButtonLeftMargin 0 JideTabbedPane.closeButtonRightMargin 0 JideTabbedPane.contentBorderInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.fitStyleBoundSize 0 JideTabbedPane.fitStyleFirstTabMargin 0 -JideTabbedPane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -JideTabbedPane.shadow #3c3f41 javax.swing.plaf.ColorUIResource [UI] -JideTabbedPane.tabAreaBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.shadow #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.tabAreaBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.tabAreaInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.tabInsets 4,12,4,12 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.tabRunOverlay 0 @@ -505,34 +505,34 @@ JideTabbedPaneUI com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPane #---- Label ---- -Label.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -Label.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] -Label.disabledShadow #646464 javax.swing.plaf.ColorUIResource [UI] +Label.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +Label.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Label.disabledShadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] Label.font [active] $defaultFont [UI] -Label.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Label.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] LabelUI com.formdev.flatlaf.ui.FlatLabelUI #---- List ---- -List.background #45494a javax.swing.plaf.ColorUIResource [UI] +List.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] List.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] -List.cellFocusColor #000000 javax.swing.plaf.ColorUIResource [UI] +List.cellFocusColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] List.cellMargins 1,6,1,6 javax.swing.plaf.InsetsUIResource [UI] -List.cellNoFocusBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Default [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.cellNoFocusBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Default [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] -List.dropCellBackground [lazy] #3c588b javax.swing.plaf.ColorUIResource [UI] -List.dropCellForeground [lazy] #bbbbbb javax.swing.plaf.ColorUIResource [UI] -List.dropLineColor [lazy] #6d8ac0 javax.swing.plaf.ColorUIResource [UI] -List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Focused [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Selected [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.dropCellBackground [lazy] #3c588b HSL 219 40 39 javax.swing.plaf.ColorUIResource [UI] +List.dropCellForeground [lazy] #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +List.dropLineColor [lazy] #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] +List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Focused [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Selected [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.font [active] $defaultFont [UI] -List.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +List.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] -List.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -List.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveBackground #0d293e javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +List.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +List.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveBackground #0d293e HSL 206 65 15 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] List.showCellFocusIndicator false List.timeFactor 1000 ListUI com.formdev.flatlaf.ui.FlatListUI @@ -541,26 +541,26 @@ ListUI com.formdev.flatlaf.ui.FlatListUI #---- Menu ---- Menu.acceleratorFont [active] $defaultFont [UI] -Menu.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI] -Menu.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI] -Menu.background #303234 javax.swing.plaf.ColorUIResource [UI] +Menu.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] Menu.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] Menu.borderPainted true Menu.cancelMode hideLastSubmenu Menu.crossMenuMnemonic true -Menu.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] +Menu.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] Menu.font [active] $defaultFont [UI] -Menu.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Menu.icon.arrowColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.disabledArrowColor #606060 javax.swing.plaf.ColorUIResource [UI] +Menu.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.arrowColor #a7a7a7 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.disabledArrowColor #606060 HSL 0 0 38 javax.swing.plaf.ColorUIResource [UI] Menu.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false Menu.preserveTopLevelSelection false -Menu.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -Menu.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Menu.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +Menu.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] Menu.shortcutKeys length=1 [I [0] 8 Menu.submenuPopupOffsetX [active] -4 @@ -569,15 +569,15 @@ Menu.submenuPopupOffsetY [active] -4 #---- MenuBar ---- -MenuBar.background #303234 javax.swing.plaf.ColorUIResource [UI] +MenuBar.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] MenuBar.border [lazy] 0,0,1,0 false com.formdev.flatlaf.ui.FlatMenuBarBorder [UI] -MenuBar.borderColor #515151 javax.swing.plaf.ColorUIResource [UI] +MenuBar.borderColor #515151 HSL 0 0 32 javax.swing.plaf.ColorUIResource [UI] MenuBar.font [active] $defaultFont [UI] -MenuBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -MenuBar.highlight #242424 javax.swing.plaf.ColorUIResource [UI] -MenuBar.hoverBackground #484c4f com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +MenuBar.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +MenuBar.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +MenuBar.hoverBackground #484c4f HSL 206 5 30 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] -MenuBar.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +MenuBar.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] MenuBar.windowBindings length=2 [Ljava.lang.Object; [0] F10 [1] takeFocus @@ -589,36 +589,36 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter - MenuItem.acceleratorFont [active] $defaultFont [UI] -MenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI] -MenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -MenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI] +MenuItem.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] MenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] MenuItem.borderPainted true -MenuItem.checkBackground #3c588b com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) +MenuItem.checkBackground #3c588b HSL 219 40 39 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) MenuItem.checkMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] +MenuItem.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] -MenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +MenuItem.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] MenuItem.iconTextGap 6 MenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false -MenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -MenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 MenuItem.textNoAcceleratorGap 6 -MenuItem.underlineSelectionBackground #484c4f com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -MenuItem.underlineSelectionCheckBackground #3c588b com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) -MenuItem.underlineSelectionColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] +MenuItem.underlineSelectionBackground #484c4f HSL 206 5 30 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +MenuItem.underlineSelectionCheckBackground #3c588b HSL 219 40 39 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) +MenuItem.underlineSelectionColor #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 #---- MenuItemCheckBox ---- -MenuItemCheckBox.icon.checkmarkColor #a7a7a7 javax.swing.plaf.ColorUIResource [UI] -MenuItemCheckBox.icon.disabledCheckmarkColor #606060 javax.swing.plaf.ColorUIResource [UI] +MenuItemCheckBox.icon.checkmarkColor #a7a7a7 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +MenuItemCheckBox.icon.disabledCheckmarkColor #606060 HSL 0 0 38 javax.swing.plaf.ColorUIResource [UI] #---- MenuItem ---- @@ -638,22 +638,22 @@ MonthViewUI com.formdev.flatlaf.swingx.ui.FlatMonthViewUI #---- Objects ---- -Objects.BlackText #231f20 javax.swing.plaf.ColorUIResource [UI] -Objects.Blue #40b6e0 javax.swing.plaf.ColorUIResource [UI] -Objects.Green #62b543 javax.swing.plaf.ColorUIResource [UI] -Objects.GreenAndroid #a4c639 javax.swing.plaf.ColorUIResource [UI] -Objects.Grey #9aa7b0 javax.swing.plaf.ColorUIResource [UI] -Objects.Pink #f98b9e javax.swing.plaf.ColorUIResource [UI] -Objects.Purple #b99bf8 javax.swing.plaf.ColorUIResource [UI] -Objects.Red #f26522 javax.swing.plaf.ColorUIResource [UI] -Objects.RedStatus #e05555 javax.swing.plaf.ColorUIResource [UI] -Objects.Yellow #f4af3d javax.swing.plaf.ColorUIResource [UI] -Objects.YellowDark #d9a343 javax.swing.plaf.ColorUIResource [UI] +Objects.BlackText #231f20 HSL 345 6 13 javax.swing.plaf.ColorUIResource [UI] +Objects.Blue #40b6e0 HSL 196 72 56 javax.swing.plaf.ColorUIResource [UI] +Objects.Green #62b543 HSL 104 46 49 javax.swing.plaf.ColorUIResource [UI] +Objects.GreenAndroid #a4c639 HSL 74 55 50 javax.swing.plaf.ColorUIResource [UI] +Objects.Grey #9aa7b0 HSL 205 12 65 javax.swing.plaf.ColorUIResource [UI] +Objects.Pink #f98b9e HSL 350 90 76 javax.swing.plaf.ColorUIResource [UI] +Objects.Purple #b99bf8 HSL 259 87 79 javax.swing.plaf.ColorUIResource [UI] +Objects.Red #f26522 HSL 19 89 54 javax.swing.plaf.ColorUIResource [UI] +Objects.RedStatus #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] +Objects.Yellow #f4af3d HSL 37 89 60 javax.swing.plaf.ColorUIResource [UI] +Objects.YellowDark #d9a343 HSL 38 66 56 javax.swing.plaf.ColorUIResource [UI] #---- OptionPane ---- -OptionPane.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +OptionPane.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] OptionPane.border [lazy] 12,12,12,12 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] OptionPane.buttonAreaBorder [lazy] 12,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] OptionPane.buttonClickThreshhold 500 @@ -662,7 +662,7 @@ OptionPane.buttonOrientation 4 OptionPane.buttonPadding 8 OptionPane.errorIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneErrorIcon [UI] OptionPane.font [active] $defaultFont [UI] -OptionPane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +OptionPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] OptionPane.iconMessageGap 16 OptionPane.informationIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneInformationIcon [UI] OptionPane.maxCharactersPerLine 80 @@ -681,37 +681,37 @@ OptionPaneUI com.formdev.flatlaf.ui.FlatOptionPaneUI #---- Panel ---- -Panel.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +Panel.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] Panel.font [active] $defaultFont [UI] -Panel.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Panel.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] PanelUI com.formdev.flatlaf.ui.FlatPanelUI #---- PasswordField ---- -PasswordField.background #45494a javax.swing.plaf.ColorUIResource [UI] +PasswordField.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] PasswordField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] PasswordField.capsLockIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatCapsLockIcon [UI] -PasswordField.capsLockIconColor #ffffff64 39% javax.swing.plaf.ColorUIResource [UI] +PasswordField.capsLockIconColor #ffffff64 39% HSLA 0 0 100 39 javax.swing.plaf.ColorUIResource [UI] PasswordField.caretBlinkRate 500 -PasswordField.caretForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -PasswordField.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +PasswordField.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PasswordField.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] PasswordField.echoChar '\u2022' PasswordField.font [active] $defaultFont [UI] -PasswordField.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] +PasswordField.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.placeholderForeground #888888 javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +PasswordField.placeholderForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] PasswordField.showCapsLock true PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI #---- Popup ---- -Popup.dropShadowColor #000000 javax.swing.plaf.ColorUIResource [UI] +Popup.dropShadowColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Popup.dropShadowInsets -4,-4,4,4 javax.swing.plaf.InsetsUIResource [UI] Popup.dropShadowOpacity 0.25 Popup.dropShadowPainted true @@ -719,13 +719,13 @@ Popup.dropShadowPainted true #---- PopupMenu ---- -PopupMenu.background #303234 javax.swing.plaf.ColorUIResource [UI] -PopupMenu.border [lazy] 4,1,4,1 false com.formdev.flatlaf.ui.FlatPopupMenuBorder [UI] lineColor=#5e5e5e javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -PopupMenu.borderColor #5e5e5e javax.swing.plaf.ColorUIResource [UI] +PopupMenu.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.border [lazy] 4,1,4,1 false com.formdev.flatlaf.ui.FlatPopupMenuBorder [UI] lineColor=#5e5e5e HSL 0 0 37 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +PopupMenu.borderColor #5e5e5e HSL 0 0 37 javax.swing.plaf.ColorUIResource [UI] PopupMenu.borderInsets 4,1,4,1 javax.swing.plaf.InsetsUIResource [UI] PopupMenu.consumeEventOnClose false PopupMenu.font [active] $defaultFont [UI] -PopupMenu.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +PopupMenu.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] #---- PopupMenuSeparator ---- @@ -744,38 +744,38 @@ PopupMenuUI com.formdev.flatlaf.ui.FlatPopupMenuUI #---- ProgressBar ---- ProgressBar.arc 4 -ProgressBar.background #555555 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.background #555555 HSL 0 0 33 javax.swing.plaf.ColorUIResource [UI] ProgressBar.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] ProgressBar.cellLength 1 ProgressBar.cellSpacing 0 ProgressBar.cycleTime 4000 ProgressBar.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] -ProgressBar.foreground #4a88c7 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.foreground #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] ProgressBar.horizontalSize 146,4 javax.swing.plaf.DimensionUIResource [UI] ProgressBar.repaintInterval 15 -ProgressBar.selectionBackground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ProgressBar.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionBackground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] ProgressBar.verticalSize 4,146 javax.swing.plaf.DimensionUIResource [UI] ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI #---- RadioButton ---- -RadioButton.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +RadioButton.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -RadioButton.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -RadioButton.disabledText #888888 javax.swing.plaf.ColorUIResource [UI] +RadioButton.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +RadioButton.disabledText #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] RadioButton.font [active] $defaultFont [UI] -RadioButton.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -RadioButton.highlight #242424 javax.swing.plaf.ColorUIResource [UI] +RadioButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +RadioButton.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 4 RadioButton.icon[filled].centerDiameter 5 -RadioButton.light #313131 javax.swing.plaf.ColorUIResource [UI] +RadioButton.light #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] RadioButton.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] RadioButton.rollover true -RadioButton.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +RadioButton.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] RadioButton.textIconGap 4 RadioButton.textShiftOffset 0 @@ -783,20 +783,20 @@ RadioButton.textShiftOffset 0 #---- RadioButtonMenuItem ---- RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI] -RadioButtonMenuItem.acceleratorForeground #959595 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -RadioButtonMenuItem.background #303234 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] RadioButtonMenuItem.borderPainted true RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI] -RadioButtonMenuItem.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] -RadioButtonMenuItem.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false -RadioButtonMenuItem.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItemUI com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI @@ -812,12 +812,12 @@ RangeSliderUI com.formdev.flatlaf.jideoss.ui.FlatRangeSliderUI #---- Resizable ---- -Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#5e5e5e javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#5e5e5e HSL 0 0 37 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 #---- RootPane ---- -RootPane.activeBorderColor #4d5154 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) +RootPane.activeBorderColor #4d5154 HSL 206 4 32 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] RootPane.borderDragThickness 5 RootPane.cornerDragWidth 16 @@ -832,37 +832,37 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [7] release RootPane.honorDialogMinimumSizeOnResize true RootPane.honorFrameMinimumSizeOnResize false -RootPane.inactiveBorderColor #484c4e com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) +RootPane.inactiveBorderColor #484c4e HSL 200 4 29 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI #---- ScrollBar ---- ScrollBar.allowsAbsolutePositioning true -ScrollBar.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonDisabledArrowColor #5a5d61 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ScrollBar.hoverButtonBackground #484c4e com.formdev.flatlaf.util.DerivedColor [UI] lighten(5%) -ScrollBar.hoverThumbColor #6e767a com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +ScrollBar.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonArrowColor #9a9da1 HSL 214 4 62 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonDisabledArrowColor #5a5d61 HSL 214 4 37 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.hoverButtonBackground #484c4e HSL 200 4 29 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5%) +ScrollBar.hoverThumbColor #6e767a HSL 200 5 45 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) ScrollBar.hoverThumbWithTrack false -ScrollBar.hoverTrackColor #484c4f com.formdev.flatlaf.util.DerivedColor [UI] lighten(4%) +ScrollBar.hoverTrackColor #484c4f HSL 206 5 30 com.formdev.flatlaf.util.DerivedColor [UI] lighten(4%) ScrollBar.maximumThumbSize 100000,100000 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] -ScrollBar.pressedButtonBackground #54595c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -ScrollBar.pressedThumbColor #7a8387 com.formdev.flatlaf.util.DerivedColor [UI] lighten(15%) +ScrollBar.pressedButtonBackground #54595c HSL 203 5 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +ScrollBar.pressedThumbColor #7a8387 HSL 198 5 50 com.formdev.flatlaf.util.DerivedColor [UI] lighten(15%) ScrollBar.pressedThumbWithTrack false ScrollBar.showButtons false ScrollBar.squareButtons false -ScrollBar.thumb #565c5f com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +ScrollBar.thumb #565c5f HSL 200 5 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) ScrollBar.thumbArc 0 -ScrollBar.thumbDarkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -ScrollBar.thumbHighlight #242424 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbDarkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbHighlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] ScrollBar.thumbInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -ScrollBar.thumbShadow #646464 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.track #3e4244 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) +ScrollBar.thumbShadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.track #3e4244 HSL 200 5 25 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) ScrollBar.trackArc 0 -ScrollBar.trackHighlight #7e7e7e javax.swing.plaf.ColorUIResource [UI] +ScrollBar.trackHighlight #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] ScrollBar.trackInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ScrollBar.width 10 ScrollBarUI com.formdev.flatlaf.ui.FlatScrollBarUI @@ -870,11 +870,11 @@ ScrollBarUI com.formdev.flatlaf.ui.FlatScrollBarUI #---- ScrollPane ---- -ScrollPane.background #3e4244 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) +ScrollPane.background #3e4244 HSL 200 5 25 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) ScrollPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ScrollPane.fillUpperCorner true ScrollPane.font [active] $defaultFont [UI] -ScrollPane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +ScrollPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI @@ -882,9 +882,9 @@ ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI #---- SearchField ---- SearchField.clearIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] -SearchField.clearIconColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] -SearchField.clearIconHoverColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] -SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconHoverColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% HSLA 200 8 53 80 javax.swing.plaf.ColorUIResource [UI] SearchField.clearPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] SearchField.clearRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] SearchField.icon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] @@ -893,18 +893,18 @@ SearchField.popupPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSea SearchField.popupRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] SearchField.pressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] SearchField.rolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] -SearchField.searchIconColor [lazy] #7f8b91e6 90% javax.swing.plaf.ColorUIResource [UI] -SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% javax.swing.plaf.ColorUIResource [UI] -SearchField.searchIconPressedColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconColor [lazy] #7f8b91e6 90% HSLA 200 8 53 90 javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% HSLA 200 8 53 70 javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconPressedColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] #---- Separator ---- -Separator.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -Separator.foreground #515151 javax.swing.plaf.ColorUIResource [UI] +Separator.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +Separator.foreground #515151 HSL 0 0 32 javax.swing.plaf.ColorUIResource [UI] Separator.height 3 -Separator.highlight #242424 javax.swing.plaf.ColorUIResource [UI] -Separator.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +Separator.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +Separator.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] Separator.stripeIndent 1 Separator.stripeWidth 1 SeparatorUI com.formdev.flatlaf.ui.FlatSeparatorUI @@ -912,28 +912,28 @@ SeparatorUI com.formdev.flatlaf.ui.FlatSeparatorUI #---- Slider ---- -Slider.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -Slider.disabledThumbColor #4c5052 javax.swing.plaf.ColorUIResource [UI] -Slider.disabledTrackColor #4c5052 javax.swing.plaf.ColorUIResource [UI] -Slider.focus #7e7e7e javax.swing.plaf.ColorUIResource [UI] +Slider.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +Slider.disabledThumbColor #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] +Slider.disabledTrackColor #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] +Slider.focus #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.focusWidth 4 -Slider.focusedColor #3d6185b3 70% com.formdev.flatlaf.util.DerivedColor [UI] fade(70%) +Slider.focusedColor #3d6185b3 70% HSLA 210 37 38 70 com.formdev.flatlaf.util.DerivedColor [UI] fade(70%) Slider.font [active] $defaultFont [UI] -Slider.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Slider.highlight #242424 javax.swing.plaf.ColorUIResource [UI] +Slider.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Slider.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] Slider.horizontalSize 200,21 java.awt.Dimension -Slider.hoverThumbColor #5d95cd com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) +Slider.hoverThumbColor #5d95cd HSL 210 53 58 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) Slider.minimumHorizontalSize 36,21 java.awt.Dimension Slider.minimumVerticalSize 21,36 java.awt.Dimension Slider.onlyLeftMouseButtonDrag true -Slider.pressedThumbColor #699cd1 com.formdev.flatlaf.util.DerivedColor [UI] lighten(8% autoInverse) -Slider.shadow #646464 javax.swing.plaf.ColorUIResource [UI] -Slider.thumbColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] +Slider.pressedThumbColor #699cd1 HSL 211 53 62 com.formdev.flatlaf.util.DerivedColor [UI] lighten(8% autoInverse) +Slider.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +Slider.thumbColor #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] Slider.thumbSize 12,12 javax.swing.plaf.DimensionUIResource [UI] -Slider.tickColor #888888 javax.swing.plaf.ColorUIResource [UI] -Slider.trackColor #646464 javax.swing.plaf.ColorUIResource [UI] -Slider.trackValueColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] +Slider.tickColor #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Slider.trackColor #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +Slider.trackValueColor #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] Slider.trackWidth 2 Slider.verticalSize 21,200 java.awt.Dimension SliderUI com.formdev.flatlaf.ui.FlatSliderUI @@ -942,47 +942,47 @@ SliderUI com.formdev.flatlaf.ui.FlatSliderUI #---- Spinner ---- Spinner.arrowButtonSize 16,5 java.awt.Dimension -Spinner.background #45494a javax.swing.plaf.ColorUIResource [UI] +Spinner.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] Spinner.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -Spinner.buttonArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonBackground #404445 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonDisabledArrowColor #5a5d61 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonHoverArrowColor #b4b7ba com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -Spinner.buttonPressedArrowColor #cfd0d2 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +Spinner.buttonArrowColor #9a9da1 HSL 214 4 62 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonBackground #404445 HSL 192 4 26 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonDisabledArrowColor #5a5d61 HSL 214 4 37 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonHoverArrowColor #b4b7ba HSL 210 4 72 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +Spinner.buttonPressedArrowColor #cfd0d2 HSL 220 3 82 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) Spinner.buttonStyle button -Spinner.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -Spinner.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 Spinner.editorBorderPainted false Spinner.font [active] $defaultFont [UI] -Spinner.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Spinner.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] Spinner.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] SpinnerUI com.formdev.flatlaf.ui.FlatSpinnerUI #---- SplitPane ---- -SplitPane.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +SplitPane.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] SplitPane.centerOneTouchButtons true SplitPane.continuousLayout true -SplitPane.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] +SplitPane.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] SplitPane.dividerSize 5 -SplitPane.highlight #242424 javax.swing.plaf.ColorUIResource [UI] +SplitPane.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] SplitPane.oneTouchButtonOffset [active] 2 SplitPane.oneTouchButtonSize [active] 6 -SplitPane.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +SplitPane.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] #---- SplitPaneDivider ---- -SplitPaneDivider.draggingColor #646464 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.gripColor #adadad javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.draggingColor #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.gripColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] SplitPaneDivider.gripDotCount 3 SplitPaneDivider.gripDotSize 3 SplitPaneDivider.gripGap 2 -SplitPaneDivider.oneTouchArrowColor #9a9da1 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.oneTouchHoverArrowColor #b4b7ba com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -SplitPaneDivider.oneTouchPressedArrowColor #cfd0d2 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +SplitPaneDivider.oneTouchArrowColor #9a9da1 HSL 214 4 62 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.oneTouchHoverArrowColor #b4b7ba HSL 210 4 72 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +SplitPaneDivider.oneTouchPressedArrowColor #cfd0d2 HSL 220 3 82 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) SplitPaneDivider.style grip @@ -994,44 +994,44 @@ SplitPaneUI com.formdev.flatlaf.ui.FlatSplitPaneUI #---- TabbedPane ---- TabbedPane.arrowType chevron -TabbedPane.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TabbedPane.buttonArc 6 -TabbedPane.buttonHoverBackground #303234 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) +TabbedPane.buttonHoverBackground #303234 HSL 210 4 20 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) TabbedPane.buttonInsets 2,1,2,1 javax.swing.plaf.InsetsUIResource [UI] -TabbedPane.buttonPressedBackground #282a2c com.formdev.flatlaf.util.DerivedColor [UI] darken(8%) +TabbedPane.buttonPressedBackground #282a2c HSL 210 5 16 com.formdev.flatlaf.util.DerivedColor [UI] darken(8%) TabbedPane.closeArc 4 TabbedPane.closeCrossFilledSize 7.5 TabbedPane.closeCrossLineWidth 1.0 TabbedPane.closeCrossPlainSize 7.5 -TabbedPane.closeForeground #888888 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.closeHoverBackground #484c4e com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) -TabbedPane.closeHoverForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeHoverBackground #484c4e HSL 200 4 29 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) +TabbedPane.closeHoverForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon [UI] -TabbedPane.closePressedBackground #54595c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -TabbedPane.closePressedForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closePressedBackground #54595c HSL 203 5 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +TabbedPane.closePressedForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeSize 16,16 javax.swing.plaf.DimensionUIResource [UI] -TabbedPane.contentAreaColor #646464 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.contentAreaColor #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentOpaque true TabbedPane.contentSeparatorHeight 1 -TabbedPane.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledForeground #888888 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledUnderlineColor #7a7a7a javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focus #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focusColor #3d4b5c javax.swing.plaf.ColorUIResource [UI] +TabbedPane.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledUnderlineColor #7a7a7a HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focus #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focusColor #3d4b5c HSL 213 20 30 javax.swing.plaf.ColorUIResource [UI] TabbedPane.font [active] $defaultFont [UI] -TabbedPane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TabbedPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TabbedPane.hasFullBorder false TabbedPane.hiddenTabsNavigation moreTabsButton -TabbedPane.highlight #242424 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.hoverColor #303234 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) +TabbedPane.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.hoverColor #303234 HSL 210 4 20 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) TabbedPane.labelShift 1 -TabbedPane.light #313131 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.light #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] TabbedPane.scrollButtonsPlacement both TabbedPane.scrollButtonsPolicy asNeededSingle TabbedPane.selectedLabelShift -1 TabbedPane.selectedTabPadInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.selectionFollowsFocus true -TabbedPane.shadow #3c3f41 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.shadow #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TabbedPane.showTabSeparators false TabbedPane.tabAlignment center TabbedPane.tabAreaAlignment leading @@ -1046,53 +1046,53 @@ TabbedPane.tabsOpaque true TabbedPane.tabsOverlapBorder false TabbedPane.tabsPopupPolicy asNeeded TabbedPane.textIconGap 4 -TabbedPane.underlineColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.underlineColor #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] TabbedPaneUI com.formdev.flatlaf.ui.FlatTabbedPaneUI #---- Table ---- Table.ascendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatAscendingSortIcon [UI] -Table.background #45494a javax.swing.plaf.ColorUIResource [UI] -Table.cellFocusColor #000000 javax.swing.plaf.ColorUIResource [UI] +Table.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +Table.cellFocusColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Table.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] -Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Default [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Default [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.consistentHomeEndKeyBehavior true Table.descendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatDescendingSortIcon [UI] -Table.dropCellBackground [lazy] #3c588b javax.swing.plaf.ColorUIResource [UI] -Table.dropCellForeground [lazy] #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Table.dropLineColor [lazy] #6d8ac0 javax.swing.plaf.ColorUIResource [UI] -Table.dropLineShortColor [lazy] #b4c3df javax.swing.plaf.ColorUIResource [UI] -Table.focusCellBackground #45494a javax.swing.plaf.ColorUIResource [UI] -Table.focusCellForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.dropCellBackground [lazy] #3c588b HSL 219 40 39 javax.swing.plaf.ColorUIResource [UI] +Table.dropCellForeground [lazy] #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineColor [lazy] #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineShortColor [lazy] #b4c3df HSL 219 40 79 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellBackground #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.font [active] $defaultFont [UI] -Table.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Table.gridColor #515657 javax.swing.plaf.ColorUIResource [UI] +Table.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.gridColor #515657 HSL 190 4 33 javax.swing.plaf.ColorUIResource [UI] Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI] Table.rowHeight 20 Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] -Table.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -Table.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveBackground #0d293e javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Table.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +Table.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveBackground #0d293e HSL 206 65 15 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] Table.showHorizontalLines false Table.showVerticalLines false -Table.sortIconColor #adadad javax.swing.plaf.ColorUIResource [UI] +Table.sortIconColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] #---- TableHeader ---- -TableHeader.background #45494a javax.swing.plaf.ColorUIResource [UI] -TableHeader.bottomSeparatorColor #5e6364 javax.swing.plaf.ColorUIResource [UI] +TableHeader.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +TableHeader.bottomSeparatorColor #5e6364 HSL 190 3 38 javax.swing.plaf.ColorUIResource [UI] TableHeader.cellBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableHeaderBorder [UI] TableHeader.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] -TableHeader.focusCellBackground #45494a javax.swing.plaf.ColorUIResource [UI] +TableHeader.focusCellBackground #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] TableHeader.font [active] $defaultFont [UI] -TableHeader.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TableHeader.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TableHeader.height 25 -TableHeader.separatorColor #5e6364 javax.swing.plaf.ColorUIResource [UI] +TableHeader.separatorColor #5e6364 HSL 190 3 38 javax.swing.plaf.ColorUIResource [UI] TableHeaderUI com.formdev.flatlaf.ui.FlatTableHeaderUI @@ -1103,37 +1103,37 @@ TableUI com.formdev.flatlaf.ui.FlatTableUI #---- TaskPane ---- -TaskPane.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] -TaskPane.borderColor #5e6060 javax.swing.plaf.ColorUIResource [UI] +TaskPane.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +TaskPane.borderColor #5e6060 HSL 180 1 37 javax.swing.plaf.ColorUIResource [UI] TaskPane.contentInsets 10,10,10,10 javax.swing.plaf.InsetsUIResource [UI] -TaskPane.specialTitleBackground #afafaf javax.swing.plaf.ColorUIResource [UI] -TaskPane.specialTitleForeground #222222 javax.swing.plaf.ColorUIResource [UI] -TaskPane.specialTitleOver #666666 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleBackgroundGradientStart #4c5052 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleOver #888888 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleBackground #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleForeground #222222 HSL 0 0 13 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleOver #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleBackgroundGradientStart #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleOver #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] #---- TaskPaneContainer ---- -TaskPaneContainer.background #3e434c javax.swing.plaf.ColorUIResource [UI] +TaskPaneContainer.background #3e434c HSL 219 10 27 javax.swing.plaf.ColorUIResource [UI] TaskPaneContainer.border [lazy] 10,10,10,10 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] #---- TextArea ---- -TextArea.background #45494a javax.swing.plaf.ColorUIResource [UI] +TextArea.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] TextArea.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextArea.caretBlinkRate 500 -TextArea.caretForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextArea.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +TextArea.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextArea.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TextArea.font [active] $defaultFont [UI] -TextArea.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] +TextArea.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] TextArea.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextArea.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -TextArea.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TextAreaUI com.formdev.flatlaf.ui.FlatTextAreaUI @@ -1146,65 +1146,65 @@ TextComponent.selectAllOnMouseClick false #---- TextField ---- -TextField.background #45494a javax.swing.plaf.ColorUIResource [UI] +TextField.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] TextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] TextField.caretBlinkRate 500 -TextField.caretForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextField.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -TextField.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +TextField.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextField.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +TextField.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TextField.font [active] $defaultFont [UI] -TextField.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextField.highlight #242424 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] -TextField.light #313131 javax.swing.plaf.ColorUIResource [UI] +TextField.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextField.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +TextField.light #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] TextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextField.placeholderForeground #888888 javax.swing.plaf.ColorUIResource [UI] -TextField.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -TextField.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextField.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +TextField.placeholderForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextField.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] TextFieldUI com.formdev.flatlaf.ui.FlatTextFieldUI #---- TextPane ---- -TextPane.background #45494a javax.swing.plaf.ColorUIResource [UI] +TextPane.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] TextPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextPane.caretBlinkRate 500 -TextPane.caretForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextPane.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] +TextPane.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextPane.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TextPane.font [active] $defaultFont [UI] -TextPane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] +TextPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] TextPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextPane.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -TextPane.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI #---- TitlePane ---- -TitlePane.background #303234 javax.swing.plaf.ColorUIResource [UI] -TitlePane.buttonHoverBackground #484c4f com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +TitlePane.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] +TitlePane.buttonHoverBackground #484c4f HSL 206 5 30 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) TitlePane.buttonMaximizedHeight 22 -TitlePane.buttonPressedBackground #616569 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20% autoInverse) +TitlePane.buttonPressedBackground #616569 HSL 210 4 40 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20% autoInverse) TitlePane.buttonSize 44,30 javax.swing.plaf.DimensionUIResource [UI] TitlePane.centerTitle false TitlePane.centerTitleIfMenuBarEmbedded true -TitlePane.closeHoverBackground #e81123 javax.swing.plaf.ColorUIResource [UI] -TitlePane.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TitlePane.closeHoverBackground #e81123 HSL 355 86 49 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TitlePane.closeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowCloseIcon [UI] -TitlePane.closePressedBackground #e8112399 60% javax.swing.plaf.ColorUIResource [UI] -TitlePane.closePressedForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -TitlePane.embeddedForeground #959595 javax.swing.plaf.ColorUIResource [UI] -TitlePane.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TitlePane.closePressedBackground #e8112399 60% HSLA 355 86 49 60 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TitlePane.embeddedForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] +TitlePane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] TitlePane.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) TitlePane.iconMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] TitlePane.iconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TitlePane.iconifyIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowIconifyIcon [UI] -TitlePane.inactiveBackground #303234 javax.swing.plaf.ColorUIResource [UI] -TitlePane.inactiveForeground #888888 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveBackground #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] TitlePane.maximizeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowMaximizeIcon [UI] TitlePane.menuBarEmbedded true TitlePane.menuBarTitleGap 20 @@ -1216,9 +1216,9 @@ TitlePane.useWindowDecorations true #---- TitledBorder ---- -TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#515151 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#515151 HSL 0 0 32 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 TitledBorder.font [active] $defaultFont [UI] -TitledBorder.titleColor #bbbbbb javax.swing.plaf.ColorUIResource [UI] +TitledBorder.titleColor #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] #---- TitledPanel ---- @@ -1228,56 +1228,56 @@ TitledPanelUI com.formdev.flatlaf.swingx.ui.FlatTitledPanelUI #---- ToggleButton ---- -ToggleButton.background #4c5052 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.background #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -ToggleButton.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledSelectedBackground #53585a com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -ToggleButton.disabledText #888888 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledSelectedBackground #53585a HSL 197 4 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) +ToggleButton.disabledText #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] -ToggleButton.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ToggleButton.highlight #242424 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] ToggleButton.iconTextGap 4 -ToggleButton.light #313131 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.light #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] ToggleButton.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [UI] -ToggleButton.pressedBackground #5b5f62 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) +ToggleButton.pressedBackground #5b5f62 HSL 206 4 37 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) ToggleButton.rollover true -ToggleButton.selectedBackground #656a6c com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -ToggleButton.selectedForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ToggleButton.shadow #646464 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.disabledUnderlineColor #7a7a7a javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.focusBackground #3d4b5c javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.hoverBackground #303234 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) -ToggleButton.tab.underlineColor #4a88c7 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.selectedBackground #656a6c HSL 197 3 41 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) +ToggleButton.selectedForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.disabledUnderlineColor #7a7a7a HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.focusBackground #3d4b5c HSL 213 20 30 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.hoverBackground #303234 HSL 210 4 20 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) +ToggleButton.tab.underlineColor #4a88c7 HSL 210 53 54 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.underlineHeight 2 ToggleButton.textIconGap 4 ToggleButton.textShiftOffset 0 -ToggleButton.toolbar.hoverBackground #4e5355 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) -ToggleButton.toolbar.pressedBackground #565a5d com.formdev.flatlaf.util.DerivedColor [UI] lighten(4% autoInverse) -ToggleButton.toolbar.selectedBackground #5d6265 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) +ToggleButton.toolbar.hoverBackground #4e5355 HSL 197 4 32 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) +ToggleButton.toolbar.pressedBackground #565a5d HSL 206 4 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(4% autoInverse) +ToggleButton.toolbar.selectedBackground #5d6265 HSL 203 4 38 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) ToggleButtonUI com.formdev.flatlaf.ui.FlatToggleButtonUI #---- ToolBar ---- -ToolBar.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +ToolBar.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ToolBar.border [lazy] 2,2,2,2 false com.formdev.flatlaf.ui.FlatToolBarBorder [UI] ToolBar.borderMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -ToolBar.darkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingBackground #3c3f41 javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingForeground #888888 javax.swing.plaf.ColorUIResource [UI] +ToolBar.darkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons false ToolBar.font [active] $defaultFont [UI] -ToolBar.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -ToolBar.gripColor #adadad javax.swing.plaf.ColorUIResource [UI] -ToolBar.highlight #242424 javax.swing.plaf.ColorUIResource [UI] +ToolBar.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToolBar.gripColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +ToolBar.highlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] ToolBar.isRollover true -ToolBar.light #313131 javax.swing.plaf.ColorUIResource [UI] -ToolBar.separatorColor #515151 javax.swing.plaf.ColorUIResource [UI] +ToolBar.light #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] +ToolBar.separatorColor #515151 HSL 0 0 32 javax.swing.plaf.ColorUIResource [UI] ToolBar.separatorWidth 7 -ToolBar.shadow #646464 javax.swing.plaf.ColorUIResource [UI] +ToolBar.shadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] ToolBar.spacingBorder [lazy] 1,2,1,2 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] @@ -1293,10 +1293,10 @@ ToolBarUI com.formdev.flatlaf.ui.FlatToolBarUI #---- ToolTip ---- -ToolTip.background #1e2123 javax.swing.plaf.ColorUIResource [UI] +ToolTip.background #1e2123 HSL 204 8 13 javax.swing.plaf.ColorUIResource [UI] ToolTip.border [lazy] 4,6,4,6 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] ToolTip.font [active] $defaultFont [UI] -ToolTip.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +ToolTip.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] #---- ToolTipManager ---- @@ -1311,25 +1311,25 @@ ToolTipUI com.formdev.flatlaf.ui.FlatToolTipUI #---- Tree ---- -Tree.background #45494a javax.swing.plaf.ColorUIResource [UI] +Tree.background #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] Tree.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] Tree.changeSelectionWithFocus true Tree.closedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeClosedIcon [UI] Tree.collapsedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeCollapsedIcon [UI] Tree.drawsFocusBorderAroundIcon false -Tree.dropCellBackground [lazy] #3c588b javax.swing.plaf.ColorUIResource [UI] -Tree.dropCellForeground [lazy] #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Tree.dropLineColor [lazy] #6d8ac0 javax.swing.plaf.ColorUIResource [UI] -Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Tree.dropCellBackground [lazy] #3c588b HSL 219 40 39 javax.swing.plaf.ColorUIResource [UI] +Tree.dropCellForeground [lazy] #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.dropLineColor [lazy] #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] +Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Tree.expandedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeExpandedIcon [UI] Tree.font [active] $defaultFont [UI] -Tree.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Tree.hash #515657 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.closedColor #adadad javax.swing.plaf.ColorUIResource [UI] -Tree.icon.collapsedColor #adadad javax.swing.plaf.ColorUIResource [UI] -Tree.icon.expandedColor #adadad javax.swing.plaf.ColorUIResource [UI] -Tree.icon.leafColor #adadad javax.swing.plaf.ColorUIResource [UI] -Tree.icon.openColor #adadad javax.swing.plaf.ColorUIResource [UI] +Tree.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.hash #515657 HSL 190 4 33 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.closedColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.collapsedColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.expandedColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.leafColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.openColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] Tree.leafIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeLeafIcon [UI] Tree.leftChildIndent 7 Tree.lineTypeDashed false @@ -1341,14 +1341,14 @@ Tree.repaintWholeRow true Tree.rightChildIndent 11 Tree.rowHeight 0 Tree.scrollsOnExpand true -Tree.selectionBackground #4b6eaf javax.swing.plaf.ColorUIResource [UI] -Tree.selectionBorderColor #000000 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveBackground #0d293e javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBorderColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveBackground #0d293e HSL 206 65 15 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] Tree.showCellFocusIndicator false -Tree.textBackground #45494a javax.swing.plaf.ColorUIResource [UI] -Tree.textForeground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Tree.textBackground #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +Tree.textForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] Tree.timeFactor 1000 Tree.wideSelection true TreeUI com.formdev.flatlaf.ui.FlatTreeUI @@ -1366,30 +1366,30 @@ TristateCheckBox.setMixed.clientProperty length=2 [Ljava.lang.Object; #---- UIColorHighlighter ---- -UIColorHighlighter.stripingBackground #515657 javax.swing.plaf.ColorUIResource [UI] +UIColorHighlighter.stripingBackground #515657 HSL 190 4 33 javax.swing.plaf.ColorUIResource [UI] #---- Viewport ---- -Viewport.background #3c3f41 javax.swing.plaf.ColorUIResource [UI] +Viewport.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] Viewport.font [active] $defaultFont [UI] -Viewport.foreground #bbbbbb javax.swing.plaf.ColorUIResource [UI] +Viewport.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- ---- -activeCaption #434e60 javax.swing.plaf.ColorUIResource [UI] -activeCaptionBorder #434e60 javax.swing.plaf.ColorUIResource [UI] -activeCaptionText #bbbbbb javax.swing.plaf.ColorUIResource [UI] -control #3c3f41 javax.swing.plaf.ColorUIResource [UI] -controlDkShadow #7e7e7e javax.swing.plaf.ColorUIResource [UI] -controlHighlight #313131 javax.swing.plaf.ColorUIResource [UI] -controlLtHighlight #242424 javax.swing.plaf.ColorUIResource [UI] -controlShadow #646464 javax.swing.plaf.ColorUIResource [UI] -controlText #bbbbbb javax.swing.plaf.ColorUIResource [UI] +activeCaption #434e60 HSL 217 18 32 javax.swing.plaf.ColorUIResource [UI] +activeCaptionBorder #434e60 HSL 217 18 32 javax.swing.plaf.ColorUIResource [UI] +activeCaptionText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +control #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +controlDkShadow #7e7e7e HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] +controlHighlight #313131 HSL 0 0 19 javax.swing.plaf.ColorUIResource [UI] +controlLtHighlight #242424 HSL 0 0 14 javax.swing.plaf.ColorUIResource [UI] +controlShadow #646464 HSL 0 0 39 javax.swing.plaf.ColorUIResource [UI] +controlText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] defaultFont Segoe UI plain 12 javax.swing.plaf.FontUIResource [UI] -desktop #45494a javax.swing.plaf.ColorUIResource [UI] +desktop #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] #---- html ---- @@ -1400,11 +1400,11 @@ html.pendingImage [lazy] 38,38 sun.swing.ImageIconUIResource [UI #---- ---- -inactiveCaption #393c3d javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionBorder #393c3d javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionText #bbbbbb javax.swing.plaf.ColorUIResource [UI] -info #1e2123 javax.swing.plaf.ColorUIResource [UI] -infoText #bbbbbb javax.swing.plaf.ColorUIResource [UI] +inactiveCaption #393c3d HSL 195 3 23 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionBorder #393c3d HSL 195 3 23 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +info #1e2123 HSL 204 8 13 javax.swing.plaf.ColorUIResource [UI] +infoText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] #---- laf ---- @@ -1415,9 +1415,9 @@ laf.scaleFactor [active] 1.0 #---- ---- -menu #3c3f41 javax.swing.plaf.ColorUIResource [UI] -menuText #bbbbbb javax.swing.plaf.ColorUIResource [UI] -scrollbar #3e4244 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) +menu #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +menuText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +scrollbar #3e4244 HSL 200 5 25 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) #---- swingx/TaskPane ---- @@ -1427,11 +1427,11 @@ swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI #---- ---- -text #45494a javax.swing.plaf.ColorUIResource [UI] -textHighlight #4b6eaf javax.swing.plaf.ColorUIResource [UI] -textHighlightText #bbbbbb javax.swing.plaf.ColorUIResource [UI] -textInactiveText #888888 javax.swing.plaf.ColorUIResource [UI] -textText #bbbbbb javax.swing.plaf.ColorUIResource [UI] -window #3c3f41 javax.swing.plaf.ColorUIResource [UI] -windowBorder #bbbbbb javax.swing.plaf.ColorUIResource [UI] -windowText #bbbbbb javax.swing.plaf.ColorUIResource [UI] +text #45494a HSL 192 3 28 javax.swing.plaf.ColorUIResource [UI] +textHighlight #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] +textHighlightText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +textInactiveText #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +textText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +window #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] +windowBorder #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +windowText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0_202.txt index c5364197..3b7d35be 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0_202.txt @@ -12,44 +12,44 @@ - Button.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + Button.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -- Button.default.background #ffffff javax.swing.plaf.ColorUIResource [UI] -+ Button.default.background #4d8ac9 javax.swing.plaf.ColorUIResource [UI] +- Button.default.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.background #4d8ac9 HSL 210 53 55 javax.swing.plaf.ColorUIResource [UI] + Button.default.boldText true -- Button.default.borderColor #4f9ee3 javax.swing.plaf.ColorUIResource [UI] -+ Button.default.borderColor #3d75b2 javax.swing.plaf.ColorUIResource [UI] +- Button.default.borderColor #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.borderColor #3d75b2 HSL 211 49 47 javax.swing.plaf.ColorUIResource [UI] - Button.default.borderWidth 2 + Button.default.borderWidth 1 -- Button.default.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] +- Button.default.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] -- Button.default.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] -+ Button.default.focusedBorderColor #a9c9f5 javax.swing.plaf.ColorUIResource [UI] +- Button.default.focusedBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.focusedBorderColor #a9c9f5 HSL 215 79 81 javax.swing.plaf.ColorUIResource [UI] -- Button.default.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -+ Button.default.foreground #ffffff javax.swing.plaf.ColorUIResource [UI] +- Button.default.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.foreground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -- Button.default.hoverBackground #f7f7f7 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -+ Button.default.hoverBackground #4182c5 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +- Button.default.hoverBackground #f7f7f7 HSL 0 0 97 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) ++ Button.default.hoverBackground #4182c5 HSL 210 53 51 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -- Button.default.hoverBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] -+ Button.default.hoverBorderColor #a9c9f5 javax.swing.plaf.ColorUIResource [UI] +- Button.default.hoverBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] ++ Button.default.hoverBorderColor #a9c9f5 HSL 215 79 81 javax.swing.plaf.ColorUIResource [UI] -- Button.default.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) -+ Button.default.pressedBackground #3571ae com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +- Button.default.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) ++ Button.default.pressedBackground #3571ae HSL 210 53 45 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) -- Button.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] +- Button.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] #---- CheckBox ---- -- CheckBox.icon.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] +- CheckBox.icon.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] + CheckBox.icon.style filled -- CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa javax.swing.plaf.ColorUIResource [UI] +- CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] #---- ComboBox ---- @@ -81,7 +81,7 @@ #---- HelpButton ---- -- HelpButton.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] +- HelpButton.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] - HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] + HelpButton.icon [lazy] 26,26 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt index d67e290f..d3942343 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -12,12 +12,12 @@ AATextInfoPropertyKey [unknown type] sun.swing.SwingUtilities2$AATextIn #---- Actions ---- -Actions.Blue #389fd6 javax.swing.plaf.ColorUIResource [UI] -Actions.Green #59a869 javax.swing.plaf.ColorUIResource [UI] -Actions.Grey #6e6e6e javax.swing.plaf.ColorUIResource [UI] -Actions.GreyInline #7f8b91 javax.swing.plaf.ColorUIResource [UI] -Actions.Red #db5860 javax.swing.plaf.ColorUIResource [UI] -Actions.Yellow #eda200 javax.swing.plaf.ColorUIResource [UI] +Actions.Blue #389fd6 HSL 201 66 53 javax.swing.plaf.ColorUIResource [UI] +Actions.Green #59a869 HSL 132 31 50 javax.swing.plaf.ColorUIResource [UI] +Actions.Grey #6e6e6e HSL 0 0 43 javax.swing.plaf.ColorUIResource [UI] +Actions.GreyInline #7f8b91 HSL 200 8 53 javax.swing.plaf.ColorUIResource [UI] +Actions.Red #db5860 HSL 356 65 60 javax.swing.plaf.ColorUIResource [UI] +Actions.Yellow #eda200 HSL 41 100 46 javax.swing.plaf.ColorUIResource [UI] #---- AuditoryCues ---- @@ -62,50 +62,50 @@ BusyLabelUI com.formdev.flatlaf.swingx.ui.FlatBusyLabelUI #---- Button ---- Button.arc 6 -Button.background #ffffff javax.swing.plaf.ColorUIResource [UI] +Button.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Button.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -Button.borderColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +Button.borderColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] Button.borderWidth 1 -Button.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -Button.default.background #ffffff javax.swing.plaf.ColorUIResource [UI] -Button.default.borderColor #4f9ee3 javax.swing.plaf.ColorUIResource [UI] +Button.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +Button.default.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Button.default.borderColor #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] Button.default.borderWidth 2 -Button.default.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI] -Button.default.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] -Button.default.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] -Button.default.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -Button.default.hoverBackground #f7f7f7 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -Button.default.hoverBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] -Button.default.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +Button.default.focusColor #97c3f3 HSL 211 79 77 javax.swing.plaf.ColorUIResource [UI] +Button.default.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] +Button.default.focusedBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] +Button.default.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Button.default.hoverBackground #f7f7f7 HSL 0 0 97 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +Button.default.hoverBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] +Button.default.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) Button.defaultButtonFollowsFocus false -Button.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -Button.disabledBorderColor #cfcfcf javax.swing.plaf.ColorUIResource [UI] -Button.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -Button.disabledSelectedBackground #dedede com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) -Button.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] -Button.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] -Button.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] +Button.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +Button.disabledBorderColor #cfcfcf HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] +Button.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Button.disabledSelectedBackground #dedede HSL 0 0 87 com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) +Button.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Button.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] +Button.focusedBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] Button.font [active] $defaultFont [UI] -Button.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -Button.hoverBackground #f7f7f7 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -Button.hoverBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] +Button.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Button.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Button.hoverBackground #f7f7f7 HSL 0 0 97 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +Button.hoverBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] Button.iconTextGap 4 Button.innerFocusWidth 0 -Button.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +Button.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] Button.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [UI] Button.minimumWidth 72 -Button.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +Button.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) Button.rollover true -Button.selectedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) -Button.selectedForeground #000000 javax.swing.plaf.ColorUIResource [UI] -Button.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +Button.selectedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +Button.selectedForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Button.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] Button.textIconGap 4 Button.textShiftOffset 0 -Button.toolbar.hoverBackground #e0e0e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(12% autoInverse) +Button.toolbar.hoverBackground #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(12% autoInverse) Button.toolbar.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -Button.toolbar.pressedBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(15% autoInverse) -Button.toolbar.selectedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +Button.toolbar.pressedBackground #d9d9d9 HSL 0 0 85 com.formdev.flatlaf.util.DerivedColor [UI] darken(15% autoInverse) +Button.toolbar.selectedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) Button.toolbar.spacingInsets 1,2,1,2 javax.swing.plaf.InsetsUIResource [UI] ButtonUI com.formdev.flatlaf.ui.FlatButtonUI @@ -118,34 +118,34 @@ Caret.width [active] 1 #---- CheckBox ---- CheckBox.arc 4 -CheckBox.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +CheckBox.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -CheckBox.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] +CheckBox.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] -CheckBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.background #ffffff javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.borderColor #b0b0b0 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.checkmarkColor #4f9ee3 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledBorderColor #bdbdbd javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledCheckmarkColor #ababab javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.focusedBorderColor #7b9fc7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.hoverBackground #f7f7f7 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -CheckBox.icon.hoverBorderColor #7b9fc7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) -CheckBox.icon.selectedBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.selectedBorderColor #b0b0b0 javax.swing.plaf.ColorUIResource [UI] +CheckBox.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.borderColor #b0b0b0 HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.checkmarkColor #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledBorderColor #bdbdbd HSL 0 0 74 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledCheckmarkColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.focusedBorderColor #7b9fc7 HSL 212 40 63 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.hoverBackground #f7f7f7 HSL 0 0 97 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +CheckBox.icon.hoverBorderColor #7b9fc7 HSL 212 40 63 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +CheckBox.icon.selectedBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.selectedBorderColor #b0b0b0 HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 -CheckBox.icon[filled].checkmarkColor #ffffff javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedBackground #4f9ee3 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedBorderColor #4b97d9 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedFocusedBackground #4f9ee3 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedFocusedBorderColor #accff7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedHoverBackground #3992e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(5% autoInverse) -CheckBox.icon[filled].selectedPressedBackground #2386dc com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +CheckBox.icon[filled].checkmarkColor #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBackground #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBorderColor #4b97d9 HSL 208 65 57 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedFocusedBackground #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedFocusedBorderColor #accff7 HSL 212 82 82 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedFocusedCheckmarkColor #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedHoverBackground #3992e0 HSL 208 73 55 com.formdev.flatlaf.util.DerivedColor [UI] darken(5% autoInverse) +CheckBox.icon[filled].selectedPressedBackground #2386dc HSL 208 73 50 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 @@ -155,20 +155,20 @@ CheckBox.textShiftOffset 0 #---- CheckBoxMenuItem ---- CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI] -CheckBoxMenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorForeground #4d4d4d HSL 0 0 30 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] CheckBoxMenuItem.borderPainted true CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI] -CheckBoxMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] -CheckBoxMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false -CheckBoxMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItemUI com.formdev.flatlaf.ui.FlatCheckBoxMenuItemUI @@ -179,10 +179,10 @@ CheckBoxUI com.formdev.flatlaf.ui.FlatCheckBoxUI #---- ColorChooser ---- -ColorChooser.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] ColorChooser.font [active] $defaultFont [UI] -ColorChooser.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -ColorChooser.swatchesDefaultRecentColor #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.swatchesDefaultRecentColor #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesRecentSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooser.swatchesSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI @@ -190,30 +190,30 @@ ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI #---- ComboBox ---- -ComboBox.background #ffffff javax.swing.plaf.ColorUIResource [UI] +ComboBox.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ComboBox.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -ComboBox.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDarkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDisabledArrowColor #a6a6a6 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonEditableBackground #fafafa javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHoverArrowColor #999999 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) -ComboBox.buttonPressedArrowColor #b3b3b3 com.formdev.flatlaf.util.DerivedColor [UI] lighten(30%) -ComboBox.buttonShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDarkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDisabledArrowColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonEditableBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonHoverArrowColor #999999 HSL 0 0 60 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +ComboBox.buttonPressedArrowColor #b3b3b3 HSL 0 0 70 com.formdev.flatlaf.util.DerivedColor [UI] lighten(30%) +ComboBox.buttonShadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonStyle auto -ComboBox.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] -ComboBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ComboBox.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup false ComboBox.maximumRowCount 15 ComboBox.minimumWidth 72 ComboBox.noActionOnKeyNavigation false ComboBox.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -ComboBox.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -ComboBox.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ComboBox.timeFactor 1000 ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI @@ -222,22 +222,22 @@ ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI Component.arc 5 Component.arrowType chevron -Component.borderColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -Component.custom.borderColor #f38d8d com.formdev.flatlaf.util.DerivedColor [UI] desaturate(20%) lighten(25%) -Component.disabledBorderColor #cfcfcf javax.swing.plaf.ColorUIResource [UI] -Component.error.borderColor #ebb8bc javax.swing.plaf.ColorUIResource [UI] -Component.error.focusedBorderColor #e53e4d javax.swing.plaf.ColorUIResource [UI] -Component.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI] +Component.borderColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +Component.custom.borderColor #f38d8d HSL 0 81 75 com.formdev.flatlaf.util.DerivedColor [UI] desaturate(20%) lighten(25%) +Component.disabledBorderColor #cfcfcf HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] +Component.error.borderColor #ebb8bc HSL 355 56 82 javax.swing.plaf.ColorUIResource [UI] +Component.error.focusedBorderColor #e53e4d HSL 355 76 57 javax.swing.plaf.ColorUIResource [UI] +Component.focusColor #97c3f3 HSL 211 79 77 javax.swing.plaf.ColorUIResource [UI] Component.focusWidth 0 -Component.focusedBorderColor #87afda javax.swing.plaf.ColorUIResource [UI] +Component.focusedBorderColor #87afda HSL 211 53 69 javax.swing.plaf.ColorUIResource [UI] Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter Component.hideMnemonics true Component.innerFocusWidth 0.5 Component.innerOutlineWidth 1.0 -Component.linkColor #2470b3 javax.swing.plaf.ColorUIResource [UI] +Component.linkColor #2470b3 HSL 208 67 42 javax.swing.plaf.ColorUIResource [UI] Component.minimumWidth 64 -Component.warning.borderColor #fed284 javax.swing.plaf.ColorUIResource [UI] -Component.warning.focusedBorderColor #e2a53a javax.swing.plaf.ColorUIResource [UI] +Component.warning.borderColor #fed284 HSL 38 98 76 javax.swing.plaf.ColorUIResource [UI] +Component.warning.focusedBorderColor #e2a53a HSL 38 74 56 javax.swing.plaf.ColorUIResource [UI] #---- DatePicker ---- @@ -247,17 +247,17 @@ DatePickerUI com.formdev.flatlaf.swingx.ui.FlatDatePickerUI #---- Desktop ---- -Desktop.background #e6ebf0 javax.swing.plaf.ColorUIResource [UI] +Desktop.background #e6ebf0 HSL 210 25 92 javax.swing.plaf.ColorUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] #---- DesktopIcon ---- -DesktopIcon.background #c6d2dd com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +DesktopIcon.background #c6d2dd HSL 209 25 82 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) DesktopIcon.border [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] DesktopIcon.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] DesktopIcon.closeSize 20,20 javax.swing.plaf.DimensionUIResource [UI] -DesktopIcon.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +DesktopIcon.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] DesktopIcon.iconSize 64,64 javax.swing.plaf.DimensionUIResource [UI] DesktopIconUI com.formdev.flatlaf.ui.FlatDesktopIconUI @@ -269,18 +269,18 @@ DesktopPaneUI com.formdev.flatlaf.ui.FlatDesktopPaneUI #---- EditorPane ---- -EditorPane.background #ffffff javax.swing.plaf.ColorUIResource [UI] +EditorPane.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] EditorPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] EditorPane.caretBlinkRate 500 -EditorPane.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -EditorPane.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +EditorPane.caretForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +EditorPane.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] EditorPane.font [active] $defaultFont [UI] -EditorPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +EditorPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -EditorPane.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -EditorPane.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] EditorPaneUI com.formdev.flatlaf.ui.FlatEditorPaneUI @@ -308,19 +308,19 @@ FileView.hardDriveIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatFil #---- FormattedTextField ---- -FormattedTextField.background #ffffff javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] FormattedTextField.caretBlinkRate 500 -FormattedTextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.caretForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.font [active] $defaultFont [UI] -FormattedTextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.placeholderForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI com.formdev.flatlaf.ui.FlatFormattedTextFieldUI @@ -331,61 +331,61 @@ HeaderUI com.formdev.flatlaf.swingx.ui.FlatHeaderUI #---- HelpButton ---- -HelpButton.background #ffffff javax.swing.plaf.ColorUIResource [UI] -HelpButton.borderColor #b0b0b0 javax.swing.plaf.ColorUIResource [UI] +HelpButton.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +HelpButton.borderColor #b0b0b0 HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] HelpButton.borderWidth 1 -HelpButton.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -HelpButton.disabledBorderColor #bdbdbd javax.swing.plaf.ColorUIResource [UI] -HelpButton.disabledQuestionMarkColor #ababab javax.swing.plaf.ColorUIResource [UI] -HelpButton.focusedBackground #e3f1fa javax.swing.plaf.ColorUIResource [UI] -HelpButton.focusedBorderColor #7b9fc7 javax.swing.plaf.ColorUIResource [UI] -HelpButton.hoverBackground #f7f7f7 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -HelpButton.hoverBorderColor #7b9fc7 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledBorderColor #bdbdbd HSL 0 0 74 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledQuestionMarkColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +HelpButton.focusedBackground #e3f1fa HSL 203 70 94 javax.swing.plaf.ColorUIResource [UI] +HelpButton.focusedBorderColor #7b9fc7 HSL 212 40 63 javax.swing.plaf.ColorUIResource [UI] +HelpButton.hoverBackground #f7f7f7 HSL 0 0 97 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +HelpButton.hoverBorderColor #7b9fc7 HSL 212 40 63 javax.swing.plaf.ColorUIResource [UI] HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] HelpButton.innerFocusWidth 0 -HelpButton.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) -HelpButton.questionMarkColor #4f9ee3 javax.swing.plaf.ColorUIResource [UI] +HelpButton.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +HelpButton.questionMarkColor #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] #---- Hyperlink ---- -Hyperlink.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] -Hyperlink.linkColor #2470b3 javax.swing.plaf.ColorUIResource [UI] -Hyperlink.visitedColor #2470b3 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.linkColor #2470b3 HSL 208 67 42 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.visitedColor #2470b3 HSL 208 67 42 javax.swing.plaf.ColorUIResource [UI] HyperlinkUI com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI #---- InternalFrame ---- -InternalFrame.activeBorderColor #919191 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeBorderColor #919191 HSL 0 0 57 javax.swing.plaf.ColorUIResource [UI] InternalFrame.activeDropShadowInsets 5,5,6,6 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.activeDropShadowOpacity 0.25 -InternalFrame.activeTitleBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -InternalFrame.activeTitleForeground #000000 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] InternalFrame.border [lazy] 6,6,6,6 false com.formdev.flatlaf.ui.FlatInternalFrameUI$FlatInternalFrameBorder [UI] -InternalFrame.borderColor #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderDarkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderLight #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderColor #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderDarkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderLight #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] InternalFrame.borderLineWidth 1 InternalFrame.borderMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] -InternalFrame.borderShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.buttonHoverBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) -InternalFrame.buttonPressedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +InternalFrame.borderShadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.buttonHoverBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +InternalFrame.buttonPressedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) InternalFrame.buttonSize 24,24 javax.swing.plaf.DimensionUIResource [UI] -InternalFrame.closeHoverBackground [lazy] #db5860 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closeHoverBackground [lazy] #db5860 HSL 356 65 60 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] InternalFrame.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] -InternalFrame.closePressedBackground [lazy] #d22e38 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.closePressedForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closePressedBackground [lazy] #d22e38 HSL 356 65 50 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] InternalFrame.dropShadowPainted true InternalFrame.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) InternalFrame.iconifyIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameIconifyIcon [UI] -InternalFrame.inactiveBorderColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveBorderColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] InternalFrame.inactiveDropShadowInsets 3,3,4,4 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.inactiveDropShadowOpacity 0.5 -InternalFrame.inactiveTitleBackground #fafafa javax.swing.plaf.ColorUIResource [UI] -InternalFrame.inactiveTitleForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] InternalFrame.maximizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon [UI] InternalFrame.minimizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameRestoreIcon [UI] InternalFrame.titleFont [active] $defaultFont [UI] @@ -406,8 +406,8 @@ InternalFrameUI com.formdev.flatlaf.ui.FlatInternalFrameUI #---- JXBusyLabel ---- -JXBusyLabel.baseColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -JXBusyLabel.highlightColor #808080 javax.swing.plaf.ColorUIResource [UI] +JXBusyLabel.baseColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +JXBusyLabel.highlightColor #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] #---- JXDatePicker ---- @@ -417,59 +417,59 @@ JXDatePicker.border [lazy] 1,1,1,1 false com.formdev.flatlaf.swin #---- JXHeader ---- -JXHeader.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -JXHeader.startBackground #ffffff javax.swing.plaf.ColorUIResource [UI] +JXHeader.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +JXHeader.startBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] #---- JXMonthView ---- -JXMonthView.arrowColor #000000 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.background #ffffff javax.swing.plaf.ColorUIResource [UI] -JXMonthView.daysOfTheWeekForeground #444444 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.disabledArrowColor #8c8c8c javax.swing.plaf.ColorUIResource [UI] -JXMonthView.flaggedDayForeground #e02222 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.leadingDayForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +JXMonthView.arrowColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.daysOfTheWeekForeground #444444 HSL 0 0 27 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.disabledArrowColor #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.flaggedDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.leadingDayForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] -JXMonthView.monthStringBackground #dfdfdf javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthStringForeground #000000 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringBackground #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] -JXMonthView.selectedBackground #b9cef8 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.trailingDayForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -JXMonthView.unselectableDayForeground #e02222 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.weekOfTheYearForeground #666666 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.selectedBackground #b9cef8 HSL 220 82 85 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.trailingDayForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.unselectableDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.weekOfTheYearForeground #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] #---- JXTitledPanel ---- -JXTitledPanel.borderColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.borderColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] JXTitledPanel.captionInsets 4,10,4,10 javax.swing.plaf.InsetsUIResource [UI] -JXTitledPanel.titleBackground #dfdfdf javax.swing.plaf.ColorUIResource [UI] -JXTitledPanel.titleForeground #222222 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleBackground #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleForeground #222222 HSL 0 0 13 javax.swing.plaf.ColorUIResource [UI] #---- JideButton ---- -JideButton.background #ffffff javax.swing.plaf.ColorUIResource [UI] +JideButton.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] JideButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideButton.borderColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -JideButton.darkShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -JideButton.focusedBackground #e0e0e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(12% autoInverse) -JideButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -JideButton.highlight #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) -JideButton.light #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +JideButton.borderColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +JideButton.darkShadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +JideButton.focusedBackground #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(12% autoInverse) +JideButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +JideButton.highlight #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +JideButton.light #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] JideButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideButton.selectedAndFocusedBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(15% autoInverse) -JideButton.selectedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) -JideButton.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +JideButton.selectedAndFocusedBackground #d9d9d9 HSL 0 0 85 com.formdev.flatlaf.util.DerivedColor [UI] darken(15% autoInverse) +JideButton.selectedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +JideButton.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] JideButton.textIconGap [active] 4 JideButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideButtonUI #---- JideLabel ---- -JideLabel.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -JideLabel.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -JideLabel.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +JideLabel.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +JideLabel.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JideLabel.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JideLabelUI com.formdev.flatlaf.jideoss.ui.FlatJideLabelUI @@ -480,28 +480,28 @@ JidePopupMenuUI com.formdev.flatlaf.jideoss.ui.FlatJidePopupMenuU #---- JideSplitButton ---- -JideSplitButton.background #ffffff javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideSplitButton.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.buttonDisabledArrowColor #a6a6a6 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonDisabledArrowColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideSplitButton.selectionForeground #000000 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.selectionForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.textIconGap [active] 4 JideSplitButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideSplitButtonUI #---- JideTabbedPane ---- -JideTabbedPane.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.closeButtonLeftMargin 0 JideTabbedPane.closeButtonRightMargin 0 JideTabbedPane.contentBorderInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.fitStyleBoundSize 0 JideTabbedPane.fitStyleFirstTabMargin 0 -JideTabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -JideTabbedPane.shadow #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -JideTabbedPane.tabAreaBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.shadow #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.tabAreaBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.tabAreaInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.tabInsets 4,12,4,12 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.tabRunOverlay 0 @@ -510,34 +510,34 @@ JideTabbedPaneUI com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPane #---- Label ---- -Label.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -Label.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -Label.disabledShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +Label.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +Label.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Label.disabledShadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] Label.font [active] $defaultFont [UI] -Label.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Label.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] LabelUI com.formdev.flatlaf.ui.FlatLabelUI #---- List ---- -List.background #ffffff javax.swing.plaf.ColorUIResource [UI] +List.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] List.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] -List.cellFocusColor #000000 javax.swing.plaf.ColorUIResource [UI] +List.cellFocusColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] List.cellMargins 1,6,1,6 javax.swing.plaf.InsetsUIResource [UI] -List.cellNoFocusBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Default [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.cellNoFocusBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Default [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] -List.dropCellBackground [lazy] #3f8fd9 javax.swing.plaf.ColorUIResource [UI] -List.dropCellForeground [lazy] #ffffff javax.swing.plaf.ColorUIResource [UI] -List.dropLineColor [lazy] #6aa7e1 javax.swing.plaf.ColorUIResource [UI] -List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Focused [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Selected [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.dropCellBackground [lazy] #3f8fd9 HSL 209 67 55 javax.swing.plaf.ColorUIResource [UI] +List.dropCellForeground [lazy] #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +List.dropLineColor [lazy] #6aa7e1 HSL 209 66 65 javax.swing.plaf.ColorUIResource [UI] +List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Focused [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Selected [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.font [active] $defaultFont [UI] -List.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +List.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] -List.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -List.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveBackground #d4d4d4 javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveForeground #000000 javax.swing.plaf.ColorUIResource [UI] +List.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +List.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveBackground #d4d4d4 HSL 0 0 83 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] List.showCellFocusIndicator false List.timeFactor 1000 ListUI com.formdev.flatlaf.ui.FlatListUI @@ -546,26 +546,26 @@ ListUI com.formdev.flatlaf.ui.FlatListUI #---- Menu ---- Menu.acceleratorFont [active] $defaultFont [UI] -Menu.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI] -Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorForeground #4d4d4d HSL 0 0 30 javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI] -Menu.background #ffffff javax.swing.plaf.ColorUIResource [UI] +Menu.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Menu.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] Menu.borderPainted true Menu.cancelMode hideLastSubmenu Menu.crossMenuMnemonic true -Menu.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +Menu.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] Menu.font [active] $defaultFont [UI] -Menu.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.arrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.disabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] +Menu.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.arrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.disabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] Menu.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false Menu.preserveTopLevelSelection false -Menu.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -Menu.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +Menu.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +Menu.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Menu.shortcutKeys length=1 [I [0] 8 Menu.submenuPopupOffsetX [active] -4 @@ -574,15 +574,15 @@ Menu.submenuPopupOffsetY [active] -4 #---- MenuBar ---- -MenuBar.background #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuBar.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuBar.border [lazy] 0,0,1,0 false com.formdev.flatlaf.ui.FlatMenuBarBorder [UI] -MenuBar.borderColor #cdcdcd javax.swing.plaf.ColorUIResource [UI] +MenuBar.borderColor #cdcdcd HSL 0 0 80 javax.swing.plaf.ColorUIResource [UI] MenuBar.font [active] $defaultFont [UI] -MenuBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -MenuBar.hoverBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +MenuBar.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +MenuBar.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +MenuBar.hoverBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] -MenuBar.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +MenuBar.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] MenuBar.windowBindings length=2 [Ljava.lang.Object; [0] F10 [1] takeFocus @@ -594,36 +594,36 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter - MenuItem.acceleratorFont [active] $defaultFont [UI] -MenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI] -MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorForeground #4d4d4d HSL 0 0 30 javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -MenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] MenuItem.borderPainted true -MenuItem.checkBackground #bfd9f2 com.formdev.flatlaf.util.DerivedColor [UI] lighten(40%) +MenuItem.checkBackground #bfd9f2 HSL 209 66 85 com.formdev.flatlaf.util.DerivedColor [UI] lighten(40%) MenuItem.checkMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +MenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] -MenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +MenuItem.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] MenuItem.iconTextGap 6 MenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false -MenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 MenuItem.textNoAcceleratorGap 6 -MenuItem.underlineSelectionBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) -MenuItem.underlineSelectionCheckBackground #bfd9f2 com.formdev.flatlaf.util.DerivedColor [UI] lighten(40%) -MenuItem.underlineSelectionColor #4083c9 javax.swing.plaf.ColorUIResource [UI] +MenuItem.underlineSelectionBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +MenuItem.underlineSelectionCheckBackground #bfd9f2 HSL 209 66 85 com.formdev.flatlaf.util.DerivedColor [UI] lighten(40%) +MenuItem.underlineSelectionColor #4083c9 HSL 211 56 52 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 #---- MenuItemCheckBox ---- -MenuItemCheckBox.icon.checkmarkColor #4f9ee3 javax.swing.plaf.ColorUIResource [UI] -MenuItemCheckBox.icon.disabledCheckmarkColor #ababab javax.swing.plaf.ColorUIResource [UI] +MenuItemCheckBox.icon.checkmarkColor #4f9ee3 HSL 208 73 60 javax.swing.plaf.ColorUIResource [UI] +MenuItemCheckBox.icon.disabledCheckmarkColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] #---- MenuItem ---- @@ -643,22 +643,22 @@ MonthViewUI com.formdev.flatlaf.swingx.ui.FlatMonthViewUI #---- Objects ---- -Objects.BlackText #231f20 javax.swing.plaf.ColorUIResource [UI] -Objects.Blue #40b6e0 javax.swing.plaf.ColorUIResource [UI] -Objects.Green #62b543 javax.swing.plaf.ColorUIResource [UI] -Objects.GreenAndroid #a4c639 javax.swing.plaf.ColorUIResource [UI] -Objects.Grey #9aa7b0 javax.swing.plaf.ColorUIResource [UI] -Objects.Pink #f98b9e javax.swing.plaf.ColorUIResource [UI] -Objects.Purple #b99bf8 javax.swing.plaf.ColorUIResource [UI] -Objects.Red #f26522 javax.swing.plaf.ColorUIResource [UI] -Objects.RedStatus #e05555 javax.swing.plaf.ColorUIResource [UI] -Objects.Yellow #f4af3d javax.swing.plaf.ColorUIResource [UI] -Objects.YellowDark #d9a343 javax.swing.plaf.ColorUIResource [UI] +Objects.BlackText #231f20 HSL 345 6 13 javax.swing.plaf.ColorUIResource [UI] +Objects.Blue #40b6e0 HSL 196 72 56 javax.swing.plaf.ColorUIResource [UI] +Objects.Green #62b543 HSL 104 46 49 javax.swing.plaf.ColorUIResource [UI] +Objects.GreenAndroid #a4c639 HSL 74 55 50 javax.swing.plaf.ColorUIResource [UI] +Objects.Grey #9aa7b0 HSL 205 12 65 javax.swing.plaf.ColorUIResource [UI] +Objects.Pink #f98b9e HSL 350 90 76 javax.swing.plaf.ColorUIResource [UI] +Objects.Purple #b99bf8 HSL 259 87 79 javax.swing.plaf.ColorUIResource [UI] +Objects.Red #f26522 HSL 19 89 54 javax.swing.plaf.ColorUIResource [UI] +Objects.RedStatus #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] +Objects.Yellow #f4af3d HSL 37 89 60 javax.swing.plaf.ColorUIResource [UI] +Objects.YellowDark #d9a343 HSL 38 66 56 javax.swing.plaf.ColorUIResource [UI] #---- OptionPane ---- -OptionPane.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +OptionPane.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] OptionPane.border [lazy] 12,12,12,12 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] OptionPane.buttonAreaBorder [lazy] 12,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] OptionPane.buttonClickThreshhold 500 @@ -667,7 +667,7 @@ OptionPane.buttonOrientation 4 OptionPane.buttonPadding 8 OptionPane.errorIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneErrorIcon [UI] OptionPane.font [active] $defaultFont [UI] -OptionPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +OptionPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] OptionPane.iconMessageGap 16 OptionPane.informationIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneInformationIcon [UI] OptionPane.maxCharactersPerLine 80 @@ -686,37 +686,37 @@ OptionPaneUI com.formdev.flatlaf.ui.FlatOptionPaneUI #---- Panel ---- -Panel.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +Panel.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] Panel.font [active] $defaultFont [UI] -Panel.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Panel.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] PanelUI com.formdev.flatlaf.ui.FlatPanelUI #---- PasswordField ---- -PasswordField.background #ffffff javax.swing.plaf.ColorUIResource [UI] +PasswordField.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] PasswordField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] PasswordField.capsLockIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatCapsLockIcon [UI] -PasswordField.capsLockIconColor #00000064 39% javax.swing.plaf.ColorUIResource [UI] +PasswordField.capsLockIconColor #00000064 39% HSLA 0 0 0 39 javax.swing.plaf.ColorUIResource [UI] PasswordField.caretBlinkRate 500 -PasswordField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -PasswordField.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +PasswordField.caretForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +PasswordField.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] PasswordField.echoChar '\u2022' PasswordField.font [active] $defaultFont [UI] -PasswordField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +PasswordField.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.placeholderForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +PasswordField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] PasswordField.showCapsLock true PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI #---- Popup ---- -Popup.dropShadowColor #000000 javax.swing.plaf.ColorUIResource [UI] +Popup.dropShadowColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Popup.dropShadowInsets -4,-4,4,4 javax.swing.plaf.InsetsUIResource [UI] Popup.dropShadowOpacity 0.15 Popup.dropShadowPainted true @@ -724,13 +724,13 @@ Popup.dropShadowPainted true #---- PopupMenu ---- -PopupMenu.background #ffffff javax.swing.plaf.ColorUIResource [UI] -PopupMenu.border [lazy] 4,1,4,1 false com.formdev.flatlaf.ui.FlatPopupMenuBorder [UI] lineColor=#adadad javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -PopupMenu.borderColor #adadad javax.swing.plaf.ColorUIResource [UI] +PopupMenu.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.border [lazy] 4,1,4,1 false com.formdev.flatlaf.ui.FlatPopupMenuBorder [UI] lineColor=#adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +PopupMenu.borderColor #adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] PopupMenu.borderInsets 4,1,4,1 javax.swing.plaf.InsetsUIResource [UI] PopupMenu.consumeEventOnClose false PopupMenu.font [active] $defaultFont [UI] -PopupMenu.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] #---- PopupMenuSeparator ---- @@ -749,38 +749,38 @@ PopupMenuUI com.formdev.flatlaf.ui.FlatPopupMenuUI #---- ProgressBar ---- ProgressBar.arc 4 -ProgressBar.background #d1d1d1 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.background #d1d1d1 HSL 0 0 82 javax.swing.plaf.ColorUIResource [UI] ProgressBar.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] ProgressBar.cellLength 1 ProgressBar.cellSpacing 0 ProgressBar.cycleTime 4000 ProgressBar.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] -ProgressBar.foreground #1e82e6 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.foreground #1e82e6 HSL 210 80 51 javax.swing.plaf.ColorUIResource [UI] ProgressBar.horizontalSize 146,4 javax.swing.plaf.DimensionUIResource [UI] ProgressBar.repaintInterval 15 -ProgressBar.selectionBackground #000000 javax.swing.plaf.ColorUIResource [UI] -ProgressBar.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionBackground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ProgressBar.verticalSize 4,146 javax.swing.plaf.DimensionUIResource [UI] ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI #---- RadioButton ---- -RadioButton.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +RadioButton.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -RadioButton.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -RadioButton.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] +RadioButton.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +RadioButton.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] RadioButton.font [active] $defaultFont [UI] -RadioButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +RadioButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 4 RadioButton.icon[filled].centerDiameter 5 -RadioButton.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +RadioButton.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] RadioButton.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] RadioButton.rollover true -RadioButton.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +RadioButton.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] RadioButton.textIconGap 4 RadioButton.textShiftOffset 0 @@ -788,20 +788,20 @@ RadioButton.textShiftOffset 0 #---- RadioButtonMenuItem ---- RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI] -RadioButtonMenuItem.acceleratorForeground #4d4d4d javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorForeground #4d4d4d HSL 0 0 30 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] RadioButtonMenuItem.borderPainted true RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI] -RadioButtonMenuItem.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] -RadioButtonMenuItem.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false -RadioButtonMenuItem.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItemUI com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI @@ -817,12 +817,12 @@ RangeSliderUI com.formdev.flatlaf.jideoss.ui.FlatRangeSliderUI #---- Resizable ---- -Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#adadad javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#adadad HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 #---- RootPane ---- -RootPane.activeBorderColor #737373 com.formdev.flatlaf.util.DerivedColor [UI] darken(50% autoInverse) +RootPane.activeBorderColor #737373 HSL 0 0 45 com.formdev.flatlaf.util.DerivedColor [UI] darken(50% autoInverse) RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] RootPane.borderDragThickness 5 RootPane.cornerDragWidth 16 @@ -837,37 +837,37 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [7] release RootPane.honorDialogMinimumSizeOnResize true RootPane.honorFrameMinimumSizeOnResize false -RootPane.inactiveBorderColor #a6a6a6 com.formdev.flatlaf.util.DerivedColor [UI] darken(30% autoInverse) +RootPane.inactiveBorderColor #a6a6a6 HSL 0 0 65 com.formdev.flatlaf.util.DerivedColor [UI] darken(30% autoInverse) RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI #---- ScrollBar ---- ScrollBar.allowsAbsolutePositioning true -ScrollBar.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonDisabledArrowColor #a6a6a6 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.hoverButtonBackground #e5e5e5 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) -ScrollBar.hoverThumbColor #c3c3c3 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) +ScrollBar.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonDisabledArrowColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.hoverButtonBackground #e5e5e5 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(5%) +ScrollBar.hoverThumbColor #c3c3c3 HSL 0 0 76 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) ScrollBar.hoverThumbWithTrack false -ScrollBar.hoverTrackColor #ededed com.formdev.flatlaf.util.DerivedColor [UI] darken(3%) +ScrollBar.hoverTrackColor #ededed HSL 0 0 93 com.formdev.flatlaf.util.DerivedColor [UI] darken(3%) ScrollBar.maximumThumbSize 100000,100000 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] -ScrollBar.pressedButtonBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) -ScrollBar.pressedThumbColor #a9a9a9 com.formdev.flatlaf.util.DerivedColor [UI] darken(20%) +ScrollBar.pressedButtonBackground #d9d9d9 HSL 0 0 85 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) +ScrollBar.pressedThumbColor #a9a9a9 HSL 0 0 66 com.formdev.flatlaf.util.DerivedColor [UI] darken(20%) ScrollBar.pressedThumbWithTrack false ScrollBar.showButtons false ScrollBar.squareButtons false -ScrollBar.thumb #dcdcdc com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) +ScrollBar.thumb #dcdcdc HSL 0 0 86 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) ScrollBar.thumbArc 0 -ScrollBar.thumbDarkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -ScrollBar.thumbHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbDarkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ScrollBar.thumbInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -ScrollBar.thumbShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.track #f5f5f5 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) +ScrollBar.thumbShadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.track #f5f5f5 HSL 0 0 96 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) ScrollBar.trackArc 0 -ScrollBar.trackHighlight #9e9e9e javax.swing.plaf.ColorUIResource [UI] +ScrollBar.trackHighlight #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] ScrollBar.trackInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ScrollBar.width 10 ScrollBarUI com.formdev.flatlaf.ui.FlatScrollBarUI @@ -875,11 +875,11 @@ ScrollBarUI com.formdev.flatlaf.ui.FlatScrollBarUI #---- ScrollPane ---- -ScrollPane.background #f5f5f5 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) +ScrollPane.background #f5f5f5 HSL 0 0 96 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) ScrollPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ScrollPane.fillUpperCorner true ScrollPane.font [active] $defaultFont [UI] -ScrollPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ScrollPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI @@ -887,9 +887,9 @@ ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI #---- SearchField ---- SearchField.clearIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] -SearchField.clearIconColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] -SearchField.clearIconHoverColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] -SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconHoverColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% HSLA 200 8 53 80 javax.swing.plaf.ColorUIResource [UI] SearchField.clearPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] SearchField.clearRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] SearchField.icon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] @@ -898,18 +898,18 @@ SearchField.popupPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSea SearchField.popupRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] SearchField.pressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] SearchField.rolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] -SearchField.searchIconColor [lazy] #7f8b91e6 90% javax.swing.plaf.ColorUIResource [UI] -SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% javax.swing.plaf.ColorUIResource [UI] -SearchField.searchIconPressedColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconColor [lazy] #7f8b91e6 90% HSLA 200 8 53 90 javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% HSLA 200 8 53 70 javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconPressedColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] #---- Separator ---- -Separator.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -Separator.foreground #d1d1d1 javax.swing.plaf.ColorUIResource [UI] +Separator.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +Separator.foreground #d1d1d1 HSL 0 0 82 javax.swing.plaf.ColorUIResource [UI] Separator.height 3 -Separator.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -Separator.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +Separator.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Separator.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] Separator.stripeIndent 1 Separator.stripeWidth 1 SeparatorUI com.formdev.flatlaf.ui.FlatSeparatorUI @@ -917,28 +917,28 @@ SeparatorUI com.formdev.flatlaf.ui.FlatSeparatorUI #---- Slider ---- -Slider.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -Slider.disabledThumbColor #c0c0c0 javax.swing.plaf.ColorUIResource [UI] -Slider.disabledTrackColor #c0c0c0 javax.swing.plaf.ColorUIResource [UI] -Slider.focus #9e9e9e javax.swing.plaf.ColorUIResource [UI] +Slider.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +Slider.disabledThumbColor #c0c0c0 HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] +Slider.disabledTrackColor #c0c0c0 HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] +Slider.focus #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.focusWidth 4 -Slider.focusedColor #97c3f380 50% com.formdev.flatlaf.util.DerivedColor [UI] fade(50%) +Slider.focusedColor #97c3f380 50% HSLA 211 79 77 50 com.formdev.flatlaf.util.DerivedColor [UI] fade(50%) Slider.font [active] $defaultFont [UI] -Slider.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -Slider.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +Slider.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Slider.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Slider.horizontalSize 200,21 java.awt.Dimension -Slider.hoverThumbColor #1775d3 com.formdev.flatlaf.util.DerivedColor [UI] darken(5% autoInverse) +Slider.hoverThumbColor #1775d3 HSL 210 80 46 com.formdev.flatlaf.util.DerivedColor [UI] darken(5% autoInverse) Slider.minimumHorizontalSize 36,21 java.awt.Dimension Slider.minimumVerticalSize 21,36 java.awt.Dimension Slider.onlyLeftMouseButtonDrag true -Slider.pressedThumbColor #166ec5 com.formdev.flatlaf.util.DerivedColor [UI] darken(8% autoInverse) -Slider.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -Slider.thumbColor #1e82e6 javax.swing.plaf.ColorUIResource [UI] +Slider.pressedThumbColor #166ec5 HSL 210 80 43 com.formdev.flatlaf.util.DerivedColor [UI] darken(8% autoInverse) +Slider.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +Slider.thumbColor #1e82e6 HSL 210 80 51 javax.swing.plaf.ColorUIResource [UI] Slider.thumbSize 12,12 javax.swing.plaf.DimensionUIResource [UI] -Slider.tickColor #888888 javax.swing.plaf.ColorUIResource [UI] -Slider.trackColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -Slider.trackValueColor #1e82e6 javax.swing.plaf.ColorUIResource [UI] +Slider.tickColor #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Slider.trackColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +Slider.trackValueColor #1e82e6 HSL 210 80 51 javax.swing.plaf.ColorUIResource [UI] Slider.trackWidth 2 Slider.verticalSize 21,200 java.awt.Dimension SliderUI com.formdev.flatlaf.ui.FlatSliderUI @@ -947,47 +947,47 @@ SliderUI com.formdev.flatlaf.ui.FlatSliderUI #---- Spinner ---- Spinner.arrowButtonSize 16,5 java.awt.Dimension -Spinner.background #ffffff javax.swing.plaf.ColorUIResource [UI] +Spinner.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Spinner.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -Spinner.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonBackground #fafafa javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonDisabledArrowColor #a6a6a6 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonHoverArrowColor #999999 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) -Spinner.buttonPressedArrowColor #b3b3b3 com.formdev.flatlaf.util.DerivedColor [UI] lighten(30%) +Spinner.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonDisabledArrowColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonHoverArrowColor #999999 HSL 0 0 60 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +Spinner.buttonPressedArrowColor #b3b3b3 HSL 0 0 70 com.formdev.flatlaf.util.DerivedColor [UI] lighten(30%) Spinner.buttonStyle button -Spinner.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -Spinner.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 Spinner.editorBorderPainted false Spinner.font [active] $defaultFont [UI] -Spinner.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Spinner.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Spinner.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] SpinnerUI com.formdev.flatlaf.ui.FlatSpinnerUI #---- SplitPane ---- -SplitPane.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +SplitPane.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] SplitPane.centerOneTouchButtons true SplitPane.continuousLayout true -SplitPane.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] +SplitPane.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] SplitPane.dividerSize 5 -SplitPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +SplitPane.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] SplitPane.oneTouchButtonOffset [active] 2 SplitPane.oneTouchButtonSize [active] 6 -SplitPane.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +SplitPane.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] #---- SplitPaneDivider ---- -SplitPaneDivider.draggingColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.gripColor #afafaf javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.draggingColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.gripColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] SplitPaneDivider.gripDotCount 3 SplitPaneDivider.gripDotSize 3 SplitPaneDivider.gripGap 2 -SplitPaneDivider.oneTouchArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.oneTouchHoverArrowColor #999999 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) -SplitPaneDivider.oneTouchPressedArrowColor #b3b3b3 com.formdev.flatlaf.util.DerivedColor [UI] lighten(30%) +SplitPaneDivider.oneTouchArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.oneTouchHoverArrowColor #999999 HSL 0 0 60 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +SplitPaneDivider.oneTouchPressedArrowColor #b3b3b3 HSL 0 0 70 com.formdev.flatlaf.util.DerivedColor [UI] lighten(30%) SplitPaneDivider.style grip @@ -999,44 +999,44 @@ SplitPaneUI com.formdev.flatlaf.ui.FlatSplitPaneUI #---- TabbedPane ---- TabbedPane.arrowType chevron -TabbedPane.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] TabbedPane.buttonArc 6 -TabbedPane.buttonHoverBackground #e0e0e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse) +TabbedPane.buttonHoverBackground #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse) TabbedPane.buttonInsets 2,1,2,1 javax.swing.plaf.InsetsUIResource [UI] -TabbedPane.buttonPressedBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +TabbedPane.buttonPressedBackground #d9d9d9 HSL 0 0 85 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) TabbedPane.closeArc 4 TabbedPane.closeCrossFilledSize 7.5 TabbedPane.closeCrossLineWidth 1.0 TabbedPane.closeCrossPlainSize 7.5 -TabbedPane.closeForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -TabbedPane.closeHoverBackground #bfbfbf com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) -TabbedPane.closeHoverForeground #000000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeHoverBackground #bfbfbf HSL 0 0 75 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +TabbedPane.closeHoverForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon [UI] -TabbedPane.closePressedBackground #b2b2b2 com.formdev.flatlaf.util.DerivedColor [UI] darken(25% autoInverse) -TabbedPane.closePressedForeground #000000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closePressedBackground #b2b2b2 HSL 0 0 70 com.formdev.flatlaf.util.DerivedColor [UI] darken(25% autoInverse) +TabbedPane.closePressedForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeSize 16,16 javax.swing.plaf.DimensionUIResource [UI] -TabbedPane.contentAreaColor #bfbfbf javax.swing.plaf.ColorUIResource [UI] +TabbedPane.contentAreaColor #bfbfbf HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentOpaque true TabbedPane.contentSeparatorHeight 1 -TabbedPane.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledUnderlineColor #ababab javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focus #000000 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focusColor #dae4ed javax.swing.plaf.ColorUIResource [UI] +TabbedPane.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledUnderlineColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focus #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focusColor #dae4ed HSL 208 35 89 javax.swing.plaf.ColorUIResource [UI] TabbedPane.font [active] $defaultFont [UI] -TabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.hasFullBorder false TabbedPane.hiddenTabsNavigation moreTabsButton -TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -TabbedPane.hoverColor #e0e0e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse) +TabbedPane.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.hoverColor #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse) TabbedPane.labelShift 1 -TabbedPane.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] TabbedPane.scrollButtonsPlacement both TabbedPane.scrollButtonsPolicy asNeededSingle TabbedPane.selectedLabelShift -1 TabbedPane.selectedTabPadInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.selectionFollowsFocus true -TabbedPane.shadow #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.shadow #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] TabbedPane.showTabSeparators false TabbedPane.tabAlignment center TabbedPane.tabAreaAlignment leading @@ -1051,53 +1051,53 @@ TabbedPane.tabsOpaque true TabbedPane.tabsOverlapBorder false TabbedPane.tabsPopupPolicy asNeeded TabbedPane.textIconGap 4 -TabbedPane.underlineColor #4083c9 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.underlineColor #4083c9 HSL 211 56 52 javax.swing.plaf.ColorUIResource [UI] TabbedPaneUI com.formdev.flatlaf.ui.FlatTabbedPaneUI #---- Table ---- Table.ascendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatAscendingSortIcon [UI] -Table.background #ffffff javax.swing.plaf.ColorUIResource [UI] -Table.cellFocusColor #000000 javax.swing.plaf.ColorUIResource [UI] +Table.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Table.cellFocusColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Table.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] -Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Default [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Default [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.consistentHomeEndKeyBehavior true Table.descendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatDescendingSortIcon [UI] -Table.dropCellBackground [lazy] #3f8fd9 javax.swing.plaf.ColorUIResource [UI] -Table.dropCellForeground [lazy] #ffffff javax.swing.plaf.ColorUIResource [UI] -Table.dropLineColor [lazy] #6aa7e1 javax.swing.plaf.ColorUIResource [UI] -Table.dropLineShortColor [lazy] #15416a javax.swing.plaf.ColorUIResource [UI] -Table.focusCellBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -Table.focusCellForeground #000000 javax.swing.plaf.ColorUIResource [UI] -Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.dropCellBackground [lazy] #3f8fd9 HSL 209 67 55 javax.swing.plaf.ColorUIResource [UI] +Table.dropCellForeground [lazy] #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineColor [lazy] #6aa7e1 HSL 209 66 65 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineShortColor [lazy] #15416a HSL 209 67 25 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.font [active] $defaultFont [UI] -Table.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -Table.gridColor #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +Table.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Table.gridColor #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI] Table.rowHeight 20 Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] -Table.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -Table.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveBackground #d4d4d4 javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveForeground #000000 javax.swing.plaf.ColorUIResource [UI] +Table.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +Table.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveBackground #d4d4d4 HSL 0 0 83 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Table.showHorizontalLines false Table.showVerticalLines false -Table.sortIconColor #afafaf javax.swing.plaf.ColorUIResource [UI] +Table.sortIconColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] #---- TableHeader ---- -TableHeader.background #ffffff javax.swing.plaf.ColorUIResource [UI] -TableHeader.bottomSeparatorColor #e6e6e6 javax.swing.plaf.ColorUIResource [UI] +TableHeader.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TableHeader.bottomSeparatorColor #e6e6e6 HSL 0 0 90 javax.swing.plaf.ColorUIResource [UI] TableHeader.cellBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableHeaderBorder [UI] TableHeader.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] -TableHeader.focusCellBackground #ffffff javax.swing.plaf.ColorUIResource [UI] +TableHeader.focusCellBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TableHeader.font [active] $defaultFont [UI] -TableHeader.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TableHeader.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TableHeader.height 25 -TableHeader.separatorColor #e6e6e6 javax.swing.plaf.ColorUIResource [UI] +TableHeader.separatorColor #e6e6e6 HSL 0 0 90 javax.swing.plaf.ColorUIResource [UI] TableHeaderUI com.formdev.flatlaf.ui.FlatTableHeaderUI @@ -1108,37 +1108,37 @@ TableUI com.formdev.flatlaf.ui.FlatTableUI #---- TaskPane ---- -TaskPane.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -TaskPane.borderColor #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +TaskPane.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +TaskPane.borderColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] TaskPane.contentInsets 10,10,10,10 javax.swing.plaf.InsetsUIResource [UI] -TaskPane.specialTitleBackground #afafaf javax.swing.plaf.ColorUIResource [UI] -TaskPane.specialTitleForeground #222222 javax.swing.plaf.ColorUIResource [UI] -TaskPane.specialTitleOver #666666 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleBackgroundGradientStart #dfdfdf javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleForeground #222222 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleOver #666666 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleBackground #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleForeground #222222 HSL 0 0 13 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleOver #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleBackgroundGradientStart #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleForeground #222222 HSL 0 0 13 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleOver #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] #---- TaskPaneContainer ---- -TaskPaneContainer.background #e6ebf0 javax.swing.plaf.ColorUIResource [UI] +TaskPaneContainer.background #e6ebf0 HSL 210 25 92 javax.swing.plaf.ColorUIResource [UI] TaskPaneContainer.border [lazy] 10,10,10,10 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] #---- TextArea ---- -TextArea.background #ffffff javax.swing.plaf.ColorUIResource [UI] +TextArea.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextArea.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextArea.caretBlinkRate 500 -TextArea.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -TextArea.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +TextArea.caretForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TextArea.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] TextArea.font [active] $defaultFont [UI] -TextArea.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +TextArea.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] TextArea.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextArea.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -TextArea.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextAreaUI com.formdev.flatlaf.ui.FlatTextAreaUI @@ -1151,65 +1151,65 @@ TextComponent.selectAllOnMouseClick false #---- TextField ---- -TextField.background #ffffff javax.swing.plaf.ColorUIResource [UI] +TextField.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] TextField.caretBlinkRate 500 -TextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -TextField.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -TextField.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +TextField.caretForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TextField.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +TextField.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] TextField.font [active] $defaultFont [UI] -TextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -TextField.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +TextField.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TextField.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextField.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] TextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextField.placeholderForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] -TextField.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -TextField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -TextField.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +TextField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TextField.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] TextFieldUI com.formdev.flatlaf.ui.FlatTextFieldUI #---- TextPane ---- -TextPane.background #ffffff javax.swing.plaf.ColorUIResource [UI] +TextPane.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextPane.caretBlinkRate 500 -TextPane.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -TextPane.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +TextPane.caretForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TextPane.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] TextPane.font [active] $defaultFont [UI] -TextPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +TextPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] TextPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextPane.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -TextPane.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI #---- TitlePane ---- -TitlePane.background #ffffff javax.swing.plaf.ColorUIResource [UI] -TitlePane.buttonHoverBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +TitlePane.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TitlePane.buttonHoverBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) TitlePane.buttonMaximizedHeight 22 -TitlePane.buttonPressedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +TitlePane.buttonPressedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) TitlePane.buttonSize 44,30 javax.swing.plaf.DimensionUIResource [UI] TitlePane.centerTitle false TitlePane.centerTitleIfMenuBarEmbedded true -TitlePane.closeHoverBackground #e81123 javax.swing.plaf.ColorUIResource [UI] -TitlePane.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TitlePane.closeHoverBackground #e81123 HSL 355 86 49 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TitlePane.closeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowCloseIcon [UI] -TitlePane.closePressedBackground #e8112399 60% javax.swing.plaf.ColorUIResource [UI] -TitlePane.closePressedForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -TitlePane.embeddedForeground #595959 javax.swing.plaf.ColorUIResource [UI] -TitlePane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closePressedBackground #e8112399 60% HSLA 355 86 49 60 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TitlePane.embeddedForeground #595959 HSL 0 0 35 javax.swing.plaf.ColorUIResource [UI] +TitlePane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TitlePane.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) TitlePane.iconMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] TitlePane.iconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TitlePane.iconifyIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowIconifyIcon [UI] -TitlePane.inactiveBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -TitlePane.inactiveForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] TitlePane.maximizeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowMaximizeIcon [UI] TitlePane.menuBarEmbedded true TitlePane.menuBarTitleGap 20 @@ -1221,9 +1221,9 @@ TitlePane.useWindowDecorations true #---- TitledBorder ---- -TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#d1d1d1 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#d1d1d1 HSL 0 0 82 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 TitledBorder.font [active] $defaultFont [UI] -TitledBorder.titleColor #000000 javax.swing.plaf.ColorUIResource [UI] +TitledBorder.titleColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] #---- TitledPanel ---- @@ -1233,56 +1233,56 @@ TitledPanelUI com.formdev.flatlaf.swingx.ui.FlatTitledPanelUI #---- ToggleButton ---- -ToggleButton.background #ffffff javax.swing.plaf.ColorUIResource [UI] +ToggleButton.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -ToggleButton.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledSelectedBackground #dedede com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) -ToggleButton.disabledText #8c8c8c javax.swing.plaf.ColorUIResource [UI] +ToggleButton.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledSelectedBackground #dedede HSL 0 0 87 com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) +ToggleButton.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] -ToggleButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +ToggleButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ToggleButton.iconTextGap 4 -ToggleButton.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] ToggleButton.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [UI] -ToggleButton.pressedBackground #e6e6e6 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) +ToggleButton.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf.util.DerivedColor [UI] darken(10% autoInverse) ToggleButton.rollover true -ToggleButton.selectedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) -ToggleButton.selectedForeground #000000 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.disabledUnderlineColor #ababab javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.focusBackground #dae4ed javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.hoverBackground #e0e0e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse) -ToggleButton.tab.underlineColor #4083c9 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.selectedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +ToggleButton.selectedForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.disabledUnderlineColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.focusBackground #dae4ed HSL 208 35 89 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.hoverBackground #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(7% autoInverse) +ToggleButton.tab.underlineColor #4083c9 HSL 211 56 52 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.underlineHeight 2 ToggleButton.textIconGap 4 ToggleButton.textShiftOffset 0 -ToggleButton.toolbar.hoverBackground #e0e0e0 com.formdev.flatlaf.util.DerivedColor [UI] darken(12% autoInverse) -ToggleButton.toolbar.pressedBackground #d9d9d9 com.formdev.flatlaf.util.DerivedColor [UI] darken(15% autoInverse) -ToggleButton.toolbar.selectedBackground #cccccc com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) +ToggleButton.toolbar.hoverBackground #e0e0e0 HSL 0 0 88 com.formdev.flatlaf.util.DerivedColor [UI] darken(12% autoInverse) +ToggleButton.toolbar.pressedBackground #d9d9d9 HSL 0 0 85 com.formdev.flatlaf.util.DerivedColor [UI] darken(15% autoInverse) +ToggleButton.toolbar.selectedBackground #cccccc HSL 0 0 80 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) ToggleButtonUI com.formdev.flatlaf.ui.FlatToggleButtonUI #---- ToolBar ---- -ToolBar.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +ToolBar.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] ToolBar.border [lazy] 2,2,2,2 false com.formdev.flatlaf.ui.FlatToolBarBorder [UI] ToolBar.borderMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -ToolBar.darkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingForeground #000000 javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingForeground #8c8c8c javax.swing.plaf.ColorUIResource [UI] +ToolBar.darkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons false ToolBar.font [active] $defaultFont [UI] -ToolBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -ToolBar.gripColor #afafaf javax.swing.plaf.ColorUIResource [UI] -ToolBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +ToolBar.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ToolBar.gripColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +ToolBar.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ToolBar.isRollover true -ToolBar.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] -ToolBar.separatorColor #d1d1d1 javax.swing.plaf.ColorUIResource [UI] +ToolBar.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] +ToolBar.separatorColor #d1d1d1 HSL 0 0 82 javax.swing.plaf.ColorUIResource [UI] ToolBar.separatorWidth 7 -ToolBar.shadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] +ToolBar.shadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] ToolBar.spacingBorder [lazy] 1,2,1,2 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] @@ -1298,10 +1298,10 @@ ToolBarUI com.formdev.flatlaf.ui.FlatToolBarUI #---- ToolTip ---- -ToolTip.background #fafafa javax.swing.plaf.ColorUIResource [UI] -ToolTip.border [lazy] 4,6,4,6 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#919191 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +ToolTip.background #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] +ToolTip.border [lazy] 4,6,4,6 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#919191 HSL 0 0 57 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 ToolTip.font [active] $defaultFont [UI] -ToolTip.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ToolTip.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] #---- ToolTipManager ---- @@ -1316,25 +1316,25 @@ ToolTipUI com.formdev.flatlaf.ui.FlatToolTipUI #---- Tree ---- -Tree.background #ffffff javax.swing.plaf.ColorUIResource [UI] +Tree.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Tree.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] Tree.changeSelectionWithFocus true Tree.closedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeClosedIcon [UI] Tree.collapsedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeCollapsedIcon [UI] Tree.drawsFocusBorderAroundIcon false -Tree.dropCellBackground [lazy] #3f8fd9 javax.swing.plaf.ColorUIResource [UI] -Tree.dropCellForeground [lazy] #ffffff javax.swing.plaf.ColorUIResource [UI] -Tree.dropLineColor [lazy] #6aa7e1 javax.swing.plaf.ColorUIResource [UI] -Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#000000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Tree.dropCellBackground [lazy] #3f8fd9 HSL 209 67 55 javax.swing.plaf.ColorUIResource [UI] +Tree.dropCellForeground [lazy] #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Tree.dropLineColor [lazy] #6aa7e1 HSL 209 66 65 javax.swing.plaf.ColorUIResource [UI] +Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Tree.expandedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeExpandedIcon [UI] Tree.font [active] $defaultFont [UI] -Tree.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -Tree.hash #e6e6e6 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.closedColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.collapsedColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.expandedColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.leafColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.openColor #afafaf javax.swing.plaf.ColorUIResource [UI] +Tree.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Tree.hash #e6e6e6 HSL 0 0 90 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.closedColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.collapsedColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.expandedColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.leafColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.openColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] Tree.leafIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeLeafIcon [UI] Tree.leftChildIndent 7 Tree.lineTypeDashed false @@ -1346,14 +1346,14 @@ Tree.repaintWholeRow true Tree.rightChildIndent 11 Tree.rowHeight 0 Tree.scrollsOnExpand true -Tree.selectionBackground #2675bf javax.swing.plaf.ColorUIResource [UI] -Tree.selectionBorderColor #000000 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveBackground #d4d4d4 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveForeground #000000 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBorderColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveBackground #d4d4d4 HSL 0 0 83 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Tree.showCellFocusIndicator false -Tree.textBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -Tree.textForeground #000000 javax.swing.plaf.ColorUIResource [UI] +Tree.textBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Tree.textForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Tree.timeFactor 1000 Tree.wideSelection true TreeUI com.formdev.flatlaf.ui.FlatTreeUI @@ -1371,30 +1371,30 @@ TristateCheckBox.setMixed.clientProperty length=2 [Ljava.lang.Object; #---- UIColorHighlighter ---- -UIColorHighlighter.stripingBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +UIColorHighlighter.stripingBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] #---- Viewport ---- -Viewport.background #f2f2f2 javax.swing.plaf.ColorUIResource [UI] +Viewport.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] Viewport.font [active] $defaultFont [UI] -Viewport.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Viewport.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- ---- -activeCaption #99b4d1 javax.swing.plaf.ColorUIResource [UI] -activeCaptionBorder #99b4d1 javax.swing.plaf.ColorUIResource [UI] -activeCaptionText #000000 javax.swing.plaf.ColorUIResource [UI] -control #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -controlDkShadow #9e9e9e javax.swing.plaf.ColorUIResource [UI] -controlHighlight #e3e3e3 javax.swing.plaf.ColorUIResource [UI] -controlLtHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -controlShadow #c4c4c4 javax.swing.plaf.ColorUIResource [UI] -controlText #000000 javax.swing.plaf.ColorUIResource [UI] +activeCaption #99b4d1 HSL 211 38 71 javax.swing.plaf.ColorUIResource [UI] +activeCaptionBorder #99b4d1 HSL 211 38 71 javax.swing.plaf.ColorUIResource [UI] +activeCaptionText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +control #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +controlDkShadow #9e9e9e HSL 0 0 62 javax.swing.plaf.ColorUIResource [UI] +controlHighlight #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] +controlLtHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +controlShadow #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] +controlText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] defaultFont Segoe UI plain 12 javax.swing.plaf.FontUIResource [UI] -desktop #ffffff javax.swing.plaf.ColorUIResource [UI] +desktop #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] #---- html ---- @@ -1405,11 +1405,11 @@ html.pendingImage [lazy] 38,38 sun.swing.ImageIconUIResource [UI #---- ---- -inactiveCaption #bfcddb javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionBorder #bfcddb javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionText #000000 javax.swing.plaf.ColorUIResource [UI] -info #fafafa javax.swing.plaf.ColorUIResource [UI] -infoText #000000 javax.swing.plaf.ColorUIResource [UI] +inactiveCaption #bfcddb HSL 210 28 80 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionBorder #bfcddb HSL 210 28 80 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +info #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] +infoText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] #---- laf ---- @@ -1420,9 +1420,9 @@ laf.scaleFactor [active] 1.0 #---- ---- -menu #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -menuText #000000 javax.swing.plaf.ColorUIResource [UI] -scrollbar #f5f5f5 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) +menu #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +menuText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +scrollbar #f5f5f5 HSL 0 0 96 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1%) #---- swingx/TaskPane ---- @@ -1432,11 +1432,11 @@ swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI #---- ---- -text #ffffff javax.swing.plaf.ColorUIResource [UI] -textHighlight #2675bf javax.swing.plaf.ColorUIResource [UI] -textHighlightText #ffffff javax.swing.plaf.ColorUIResource [UI] -textInactiveText #8c8c8c javax.swing.plaf.ColorUIResource [UI] -textText #000000 javax.swing.plaf.ColorUIResource [UI] -window #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -windowBorder #000000 javax.swing.plaf.ColorUIResource [UI] -windowText #000000 javax.swing.plaf.ColorUIResource [UI] +text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +textHighlight #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] +textHighlightText #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +textInactiveText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +textText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +window #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +windowBorder #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +windowText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt index 4df81a7b..40d64308 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0_202.txt @@ -12,12 +12,12 @@ AATextInfoPropertyKey [unknown type] sun.swing.SwingUtilities2$AATextIn #---- Actions ---- -Actions.Blue #389fd6 javax.swing.plaf.ColorUIResource [UI] -Actions.Green #59a869 javax.swing.plaf.ColorUIResource [UI] -Actions.Grey #6e6e6e javax.swing.plaf.ColorUIResource [UI] -Actions.GreyInline #7f8b91 javax.swing.plaf.ColorUIResource [UI] -Actions.Red #db5860 javax.swing.plaf.ColorUIResource [UI] -Actions.Yellow #eda200 javax.swing.plaf.ColorUIResource [UI] +Actions.Blue #389fd6 HSL 201 66 53 javax.swing.plaf.ColorUIResource [UI] +Actions.Green #59a869 HSL 132 31 50 javax.swing.plaf.ColorUIResource [UI] +Actions.Grey #6e6e6e HSL 0 0 43 javax.swing.plaf.ColorUIResource [UI] +Actions.GreyInline #7f8b91 HSL 200 8 53 javax.swing.plaf.ColorUIResource [UI] +Actions.Red #db5860 HSL 356 65 60 javax.swing.plaf.ColorUIResource [UI] +Actions.Yellow #eda200 HSL 41 100 46 javax.swing.plaf.ColorUIResource [UI] #---- AuditoryCues ---- @@ -62,54 +62,54 @@ BusyLabelUI com.formdev.flatlaf.swingx.ui.FlatBusyLabelUI #---- Button ---- Button.arc 6 -Button.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +Button.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] Button.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -Button.borderColor #00ff00 javax.swing.plaf.ColorUIResource [UI] +Button.borderColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] Button.borderWidth 1 -Button.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] +Button.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] Button.default.borderWidth 1 -Button.default.endBackground #888888 javax.swing.plaf.ColorUIResource [UI] -Button.default.endBorderColor #0000ff javax.swing.plaf.ColorUIResource [UI] -Button.default.focusColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Button.default.focusedBackground #00ffff javax.swing.plaf.ColorUIResource [UI] -Button.default.focusedBorderColor #537699 javax.swing.plaf.ColorUIResource [UI] -Button.default.foreground #880000 javax.swing.plaf.ColorUIResource [UI] -Button.default.hoverBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] -Button.default.hoverBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Button.default.pressedBackground #ffc800 javax.swing.plaf.ColorUIResource [UI] -Button.default.startBackground #dddddd javax.swing.plaf.ColorUIResource [UI] -Button.default.startBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +Button.default.endBackground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Button.default.endBorderColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.default.focusColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.default.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.default.focusedBorderColor #537699 HSL 210 30 46 javax.swing.plaf.ColorUIResource [UI] +Button.default.foreground #880000 HSL 0 100 27 javax.swing.plaf.ColorUIResource [UI] +Button.default.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.default.hoverBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.default.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.default.startBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +Button.default.startBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Button.defaultButtonFollowsFocus false -Button.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -Button.disabledBorderColor #000088 javax.swing.plaf.ColorUIResource [UI] -Button.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] -Button.disabledText #000088 javax.swing.plaf.ColorUIResource [UI] -Button.endBackground #bbbbbb javax.swing.plaf.ColorUIResource [UI] -Button.endBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Button.focusedBackground #00ffff javax.swing.plaf.ColorUIResource [UI] -Button.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] +Button.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +Button.disabledBorderColor #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +Button.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +Button.disabledText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +Button.endBackground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.endBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] Button.font [active] $defaultFont [UI] -Button.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -Button.hoverBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] -Button.hoverBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +Button.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Button.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +Button.hoverBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Button.iconTextGap 4 Button.innerFocusWidth 1 -Button.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +Button.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] Button.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [UI] Button.minimumWidth 72 -Button.pressedBackground #ffc800 javax.swing.plaf.ColorUIResource [UI] +Button.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] Button.rollover true -Button.selectedBackground #ffbbbb javax.swing.plaf.ColorUIResource [UI] -Button.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -Button.startBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -Button.startBorderColor #0000ff javax.swing.plaf.ColorUIResource [UI] +Button.selectedBackground #ffbbbb HSL 0 100 87 javax.swing.plaf.ColorUIResource [UI] +Button.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +Button.startBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Button.startBorderColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] Button.textIconGap 4 Button.textShiftOffset 0 -Button.toolbar.hoverBackground #ffffff javax.swing.plaf.ColorUIResource [UI] +Button.toolbar.hoverBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Button.toolbar.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -Button.toolbar.pressedBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] -Button.toolbar.selectedBackground #dddddd javax.swing.plaf.ColorUIResource [UI] +Button.toolbar.pressedBackground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] +Button.toolbar.selectedBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Button.toolbar.spacingInsets 1,2,1,2 javax.swing.plaf.InsetsUIResource [UI] ButtonUI com.formdev.flatlaf.ui.FlatButtonUI @@ -122,25 +122,25 @@ Caret.width [active] 1 #---- CheckBox ---- CheckBox.arc 4 -CheckBox.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +CheckBox.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -CheckBox.disabledText #000088 javax.swing.plaf.ColorUIResource [UI] +CheckBox.disabledText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] -CheckBox.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.background #ffffff javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.borderColor #878787 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.checkmarkColor #ffffff javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledBorderColor #bdbdbd javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledCheckmarkColor #ababab javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.focusedBackground #00ffff javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.focusedBorderColor #7b9fc7 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.hoverBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.hoverBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.pressedBackground #ffc800 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.selectedBackground #4d89c9 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.selectedBorderColor #4982cc javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.selectedFocusedBorderColor #accff7 javax.swing.plaf.ColorUIResource [UI] +CheckBox.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.borderColor #878787 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.checkmarkColor #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledBorderColor #bdbdbd HSL 0 0 74 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledCheckmarkColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.focusedBorderColor #7b9fc7 HSL 212 40 63 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.hoverBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.selectedBackground #4d89c9 HSL 211 53 55 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.selectedBorderColor #4982cc HSL 214 56 54 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.selectedFocusedBorderColor #accff7 HSL 212 82 82 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] @@ -152,20 +152,20 @@ CheckBox.textShiftOffset 0 #---- CheckBoxMenuItem ---- CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI] -CheckBoxMenuItem.acceleratorForeground #ff8888 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorForeground #ff8888 HSL 0 100 77 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -CheckBoxMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] CheckBoxMenuItem.borderPainted true CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI] -CheckBoxMenuItem.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] -CheckBoxMenuItem.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false -CheckBoxMenuItem.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItemUI com.formdev.flatlaf.ui.FlatCheckBoxMenuItemUI @@ -176,10 +176,10 @@ CheckBoxUI com.formdev.flatlaf.ui.FlatCheckBoxUI #---- ColorChooser ---- -ColorChooser.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +ColorChooser.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] ColorChooser.font [active] $defaultFont [UI] -ColorChooser.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -ColorChooser.swatchesDefaultRecentColor #ccffcc javax.swing.plaf.ColorUIResource [UI] +ColorChooser.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.swatchesDefaultRecentColor #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesRecentSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooser.swatchesSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI @@ -187,33 +187,33 @@ ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI #---- ComboBox ---- -ComboBox.background #ffffff javax.swing.plaf.ColorUIResource [UI] +ComboBox.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ComboBox.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -ComboBox.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDarkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDisabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonEditableBackground #cccccc javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonFocusedBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHoverArrowColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonPressedArrowColor #0000ff javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonShadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDarkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDisabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonEditableBackground #cccccc HSL 0 0 80 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonFocusedBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonHoverArrowColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonPressedArrowColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonShadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonStyle auto -ComboBox.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 -ComboBox.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +ComboBox.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] ComboBox.font [active] $defaultFont [UI] -ComboBox.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +ComboBox.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup false ComboBox.maximumRowCount 15 ComboBox.minimumWidth 72 ComboBox.noActionOnKeyNavigation false ComboBox.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -ComboBox.popupBackground #ffffcc javax.swing.plaf.ColorUIResource [UI] -ComboBox.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -ComboBox.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +ComboBox.popupBackground #ffffcc HSL 60 100 90 javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] ComboBox.timeFactor 1000 ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI @@ -222,11 +222,11 @@ ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI Component.arc 5 Component.arrowType chevron -Component.borderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Component.disabledBorderColor #000088 javax.swing.plaf.ColorUIResource [UI] -Component.focusColor #97c3f3 javax.swing.plaf.ColorUIResource [UI] +Component.borderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Component.disabledBorderColor #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +Component.focusColor #97c3f3 HSL 211 79 77 javax.swing.plaf.ColorUIResource [UI] Component.focusWidth 0 -Component.focusedBorderColor #466d94 javax.swing.plaf.ColorUIResource [UI] +Component.focusedBorderColor #466d94 HSL 210 36 43 javax.swing.plaf.ColorUIResource [UI] Component.grayFilter [lazy] [unknown type] com.formdev.flatlaf.util.GrayFilter Component.hideMnemonics true Component.innerFocusWidth 0.5 @@ -241,17 +241,17 @@ DatePickerUI com.formdev.flatlaf.swingx.ui.FlatDatePickerUI #---- Desktop ---- -Desktop.background #aaffee javax.swing.plaf.ColorUIResource [UI] +Desktop.background #aaffee HSL 168 100 83 javax.swing.plaf.ColorUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] #---- DesktopIcon ---- -DesktopIcon.background #44ffda javax.swing.plaf.ColorUIResource [UI] +DesktopIcon.background #44ffda HSL 168 100 63 javax.swing.plaf.ColorUIResource [UI] DesktopIcon.border [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] DesktopIcon.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] DesktopIcon.closeSize 20,20 javax.swing.plaf.DimensionUIResource [UI] -DesktopIcon.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +DesktopIcon.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] DesktopIcon.iconSize 64,64 javax.swing.plaf.DimensionUIResource [UI] DesktopIconUI com.formdev.flatlaf.ui.FlatDesktopIconUI @@ -263,19 +263,19 @@ DesktopPaneUI com.formdev.flatlaf.ui.FlatDesktopPaneUI #---- EditorPane ---- -EditorPane.background #ffffff javax.swing.plaf.ColorUIResource [UI] +EditorPane.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] EditorPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] EditorPane.caretBlinkRate 500 -EditorPane.caretForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -EditorPane.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -EditorPane.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +EditorPane.caretForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +EditorPane.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +EditorPane.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] EditorPane.font [active] $defaultFont [UI] -EditorPane.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveForeground #000088 javax.swing.plaf.ColorUIResource [UI] +EditorPane.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -EditorPane.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -EditorPane.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] EditorPaneUI com.formdev.flatlaf.ui.FlatEditorPaneUI @@ -303,20 +303,20 @@ FileView.hardDriveIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatFil #---- FormattedTextField ---- -FormattedTextField.background #ffffff javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] FormattedTextField.caretBlinkRate 500 -FormattedTextField.caretForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.caretForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.font [active] $defaultFont [UI] -FormattedTextField.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveForeground #000088 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.placeholderForeground #000088 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.placeholderForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI com.formdev.flatlaf.ui.FlatFormattedTextFieldUI @@ -327,59 +327,59 @@ HeaderUI com.formdev.flatlaf.swingx.ui.FlatHeaderUI #---- HelpButton ---- -HelpButton.background #ffffff javax.swing.plaf.ColorUIResource [UI] -HelpButton.borderColor #878787 javax.swing.plaf.ColorUIResource [UI] +HelpButton.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +HelpButton.borderColor #878787 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] HelpButton.borderWidth 1 -HelpButton.disabledBackground #f2f2f2 javax.swing.plaf.ColorUIResource [UI] -HelpButton.disabledBorderColor #bdbdbd javax.swing.plaf.ColorUIResource [UI] -HelpButton.disabledQuestionMarkColor #ababab javax.swing.plaf.ColorUIResource [UI] -HelpButton.focusedBackground #00ffff javax.swing.plaf.ColorUIResource [UI] -HelpButton.focusedBorderColor #7b9fc7 javax.swing.plaf.ColorUIResource [UI] -HelpButton.hoverBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] -HelpButton.hoverBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledBorderColor #bdbdbd HSL 0 0 74 javax.swing.plaf.ColorUIResource [UI] +HelpButton.disabledQuestionMarkColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +HelpButton.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] +HelpButton.focusedBorderColor #7b9fc7 HSL 212 40 63 javax.swing.plaf.ColorUIResource [UI] +HelpButton.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +HelpButton.hoverBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] HelpButton.innerFocusWidth 1 -HelpButton.pressedBackground #ffc800 javax.swing.plaf.ColorUIResource [UI] -HelpButton.questionMarkColor #0000ff javax.swing.plaf.ColorUIResource [UI] +HelpButton.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] +HelpButton.questionMarkColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] #---- Hyperlink ---- -Hyperlink.disabledText #000088 javax.swing.plaf.ColorUIResource [UI] -Hyperlink.linkColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Hyperlink.visitedColor #0000ff javax.swing.plaf.ColorUIResource [UI] +Hyperlink.disabledText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.linkColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.visitedColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] HyperlinkUI com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI #---- InternalFrame ---- -InternalFrame.activeBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] InternalFrame.activeDropShadowInsets 5,5,6,6 javax.swing.plaf.InsetsUIResource [UI] -InternalFrame.activeTitleBackground #880000 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.activeTitleForeground #ffaaaa javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleBackground #880000 HSL 0 100 27 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleForeground #ffaaaa HSL 0 100 83 javax.swing.plaf.ColorUIResource [UI] InternalFrame.border [lazy] 6,6,6,6 false com.formdev.flatlaf.ui.FlatInternalFrameUI$FlatInternalFrameBorder [UI] -InternalFrame.borderColor #ccffcc javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderDarkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderLight #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderColor #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderDarkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderLight #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] InternalFrame.borderLineWidth 1 InternalFrame.borderMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] -InternalFrame.borderShadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.buttonHoverBackground #006600 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.buttonPressedBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderShadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.buttonHoverBackground #006600 HSL 120 100 20 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.buttonPressedBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] InternalFrame.buttonSize 24,24 javax.swing.plaf.DimensionUIResource [UI] -InternalFrame.closeHoverBackground #000088 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closeHoverBackground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] InternalFrame.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] -InternalFrame.closePressedBackground #0000ff javax.swing.plaf.ColorUIResource [UI] -InternalFrame.closePressedForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closePressedBackground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] InternalFrame.dropShadowPainted true InternalFrame.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) InternalFrame.iconifyIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameIconifyIcon [UI] -InternalFrame.inactiveBorderColor #00ff00 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveBorderColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] InternalFrame.inactiveDropShadowInsets 3,3,4,4 javax.swing.plaf.InsetsUIResource [UI] -InternalFrame.inactiveTitleBackground #008800 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.inactiveTitleForeground #aaffaa javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleBackground #008800 HSL 120 100 27 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleForeground #aaffaa HSL 120 100 83 javax.swing.plaf.ColorUIResource [UI] InternalFrame.maximizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon [UI] InternalFrame.minimizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameRestoreIcon [UI] InternalFrame.titleFont [active] $defaultFont [UI] @@ -400,8 +400,8 @@ InternalFrameUI com.formdev.flatlaf.ui.FlatInternalFrameUI #---- JXBusyLabel ---- -JXBusyLabel.baseColor #00ff00 javax.swing.plaf.ColorUIResource [UI] -JXBusyLabel.highlightColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +JXBusyLabel.baseColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +JXBusyLabel.highlightColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] #---- JXDatePicker ---- @@ -411,61 +411,61 @@ JXDatePicker.border [lazy] 1,1,1,1 false com.formdev.flatlaf.swin #---- JXHeader ---- -JXHeader.background #ff8888 javax.swing.plaf.ColorUIResource [UI] -JXHeader.descriptionForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] -JXHeader.startBackground #ffcccc javax.swing.plaf.ColorUIResource [UI] -JXHeader.titleForeground #0000ff javax.swing.plaf.ColorUIResource [UI] +JXHeader.background #ff8888 HSL 0 100 77 javax.swing.plaf.ColorUIResource [UI] +JXHeader.descriptionForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +JXHeader.startBackground #ffcccc HSL 0 100 90 javax.swing.plaf.ColorUIResource [UI] +JXHeader.titleForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] #---- JXMonthView ---- -JXMonthView.arrowColor #0000ff javax.swing.plaf.ColorUIResource [UI] -JXMonthView.background #ffffff javax.swing.plaf.ColorUIResource [UI] -JXMonthView.daysOfTheWeekForeground #00ff00 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.disabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -JXMonthView.flaggedDayForeground #00ffff javax.swing.plaf.ColorUIResource [UI] -JXMonthView.leadingDayForeground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.arrowColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.daysOfTheWeekForeground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.disabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.flaggedDayForeground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.leadingDayForeground #c0c0c0 HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] -JXMonthView.monthStringBackground #00ff00 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthStringForeground #0000ff javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringBackground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] -JXMonthView.selectedBackground #aaffaa javax.swing.plaf.ColorUIResource [UI] -JXMonthView.trailingDayForeground #c0c0c0 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.unselectableDayForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -JXMonthView.weekOfTheYearForeground #0000ff javax.swing.plaf.ColorUIResource [UI] +JXMonthView.selectedBackground #aaffaa HSL 120 100 83 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.trailingDayForeground #c0c0c0 HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.unselectableDayForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.weekOfTheYearForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] #---- JXTitledPanel ---- -JXTitledPanel.borderColor #0000ff javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.borderColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] JXTitledPanel.captionInsets 4,10,4,10 javax.swing.plaf.InsetsUIResource [UI] -JXTitledPanel.titleBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] -JXTitledPanel.titleForeground #ff00ff javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleForeground #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI] #---- JideButton ---- -JideButton.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +JideButton.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] JideButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideButton.borderColor #00ff00 javax.swing.plaf.ColorUIResource [UI] -JideButton.darkShadow #00ff00 javax.swing.plaf.ColorUIResource [UI] -JideButton.focusedBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -JideButton.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -JideButton.highlight #ffbbbb javax.swing.plaf.ColorUIResource [UI] -JideButton.light #00ff00 javax.swing.plaf.ColorUIResource [UI] +JideButton.borderColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +JideButton.darkShadow #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +JideButton.focusedBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +JideButton.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +JideButton.highlight #ffbbbb HSL 0 100 87 javax.swing.plaf.ColorUIResource [UI] +JideButton.light #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] JideButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideButton.selectedAndFocusedBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] -JideButton.selectedBackground #dddddd javax.swing.plaf.ColorUIResource [UI] -JideButton.shadow #00ff00 javax.swing.plaf.ColorUIResource [UI] +JideButton.selectedAndFocusedBackground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] +JideButton.selectedBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +JideButton.shadow #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] JideButton.textIconGap [active] 4 JideButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideButtonUI #---- JideLabel ---- -JideLabel.background #ccffcc javax.swing.plaf.ColorUIResource [UI] -JideLabel.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] -JideLabel.foreground #008800 javax.swing.plaf.ColorUIResource [UI] +JideLabel.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +JideLabel.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +JideLabel.foreground #008800 HSL 120 100 27 javax.swing.plaf.ColorUIResource [UI] JideLabelUI com.formdev.flatlaf.jideoss.ui.FlatJideLabelUI @@ -476,28 +476,28 @@ JidePopupMenuUI com.formdev.flatlaf.jideoss.ui.FlatJidePopupMenuU #---- JideSplitButton ---- -JideSplitButton.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideSplitButton.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.buttonDisabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonDisabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideSplitButton.selectionForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.selectionForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.textIconGap [active] 4 JideSplitButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideSplitButtonUI #---- JideTabbedPane ---- -JideTabbedPane.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.closeButtonLeftMargin 0 JideTabbedPane.closeButtonRightMargin 0 JideTabbedPane.contentBorderInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.fitStyleBoundSize 0 JideTabbedPane.fitStyleFirstTabMargin 0 -JideTabbedPane.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -JideTabbedPane.shadow #ccffcc javax.swing.plaf.ColorUIResource [UI] -JideTabbedPane.tabAreaBackground #ccffcc javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.shadow #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.tabAreaBackground #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.tabAreaInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.tabInsets 4,12,4,12 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.tabRunOverlay 0 @@ -506,34 +506,34 @@ JideTabbedPaneUI com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPane #---- Label ---- -Label.background #ccffcc javax.swing.plaf.ColorUIResource [UI] -Label.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] -Label.disabledShadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +Label.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +Label.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +Label.disabledShadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] Label.font [active] $defaultFont [UI] -Label.foreground #008800 javax.swing.plaf.ColorUIResource [UI] +Label.foreground #008800 HSL 120 100 27 javax.swing.plaf.ColorUIResource [UI] LabelUI com.formdev.flatlaf.ui.FlatLabelUI #---- List ---- -List.background #f0ffff javax.swing.plaf.ColorUIResource [UI] +List.background #f0ffff HSL 180 100 97 javax.swing.plaf.ColorUIResource [UI] List.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] -List.cellFocusColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +List.cellFocusColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] List.cellMargins 1,6,1,6 javax.swing.plaf.InsetsUIResource [UI] List.cellNoFocusBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] -List.dropCellBackground #ff0000 javax.swing.plaf.ColorUIResource [UI] -List.dropCellForeground #00ff00 javax.swing.plaf.ColorUIResource [UI] -List.dropLineColor #0000ff javax.swing.plaf.ColorUIResource [UI] -List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#880000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#880000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.dropCellBackground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +List.dropCellForeground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +List.dropLineColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#880000 HSL 0 100 27 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#880000 HSL 0 100 27 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.font [active] $defaultFont [UI] -List.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +List.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] -List.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -List.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveBackground #888888 javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +List.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +List.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveBackground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] List.showCellFocusIndicator false List.timeFactor 1000 ListUI com.formdev.flatlaf.ui.FlatListUI @@ -542,26 +542,26 @@ ListUI com.formdev.flatlaf.ui.FlatListUI #---- Menu ---- Menu.acceleratorFont [active] $defaultFont [UI] -Menu.acceleratorForeground #ff8888 javax.swing.plaf.ColorUIResource [UI] -Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorForeground #ff8888 HSL 0 100 77 javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI] -Menu.background #ffffff javax.swing.plaf.ColorUIResource [UI] +Menu.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Menu.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] Menu.borderPainted true Menu.cancelMode hideLastSubmenu Menu.crossMenuMnemonic true -Menu.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] +Menu.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] Menu.font [active] $defaultFont [UI] -Menu.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.arrowColor #4d89c9 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.disabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] +Menu.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.arrowColor #4d89c9 HSL 211 53 55 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.disabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] Menu.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false Menu.preserveTopLevelSelection false -Menu.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -Menu.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +Menu.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +Menu.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] Menu.shortcutKeys length=1 [I [0] 8 Menu.submenuPopupOffsetX [active] -4 @@ -570,17 +570,17 @@ Menu.submenuPopupOffsetY [active] -4 #---- MenuBar ---- -MenuBar.background #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuBar.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuBar.border [lazy] 0,0,1,0 false com.formdev.flatlaf.ui.FlatMenuBarBorder [UI] -MenuBar.borderColor #4444ff javax.swing.plaf.ColorUIResource [UI] +MenuBar.borderColor #4444ff HSL 240 100 63 javax.swing.plaf.ColorUIResource [UI] MenuBar.font [active] $defaultFont [UI] -MenuBar.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -MenuBar.hoverBackground #ffdddd javax.swing.plaf.ColorUIResource [UI] +MenuBar.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +MenuBar.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +MenuBar.hoverBackground #ffdddd HSL 0 100 93 javax.swing.plaf.ColorUIResource [UI] MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] -MenuBar.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -MenuBar.underlineSelectionBackground #00ff00 javax.swing.plaf.ColorUIResource [UI] -MenuBar.underlineSelectionColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +MenuBar.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +MenuBar.underlineSelectionBackground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +MenuBar.underlineSelectionColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] MenuBar.underlineSelectionHeight 5 MenuBar.windowBindings length=2 [Ljava.lang.Object; [0] F10 @@ -593,36 +593,36 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter - MenuItem.acceleratorFont [active] $defaultFont [UI] -MenuItem.acceleratorForeground #ff8888 javax.swing.plaf.ColorUIResource [UI] -MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorForeground #ff8888 HSL 0 100 77 javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -MenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI] +MenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] MenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] MenuItem.borderPainted true -MenuItem.checkBackground #ccccff javax.swing.plaf.ColorUIResource [UI] +MenuItem.checkBackground #ccccff HSL 240 100 90 javax.swing.plaf.ColorUIResource [UI] MenuItem.checkMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] +MenuItem.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] -MenuItem.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +MenuItem.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] MenuItem.iconTextGap 6 MenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] MenuItem.minimumWidth 72 MenuItem.opaque false -MenuItem.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -MenuItem.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] MenuItem.textAcceleratorGap 24 MenuItem.textNoAcceleratorGap 6 -MenuItem.underlineSelectionBackground #e6e6e6 javax.swing.plaf.ColorUIResource [UI] -MenuItem.underlineSelectionCheckBackground #ccccff javax.swing.plaf.ColorUIResource [UI] -MenuItem.underlineSelectionColor #ffff00 javax.swing.plaf.ColorUIResource [UI] +MenuItem.underlineSelectionBackground #e6e6e6 HSL 0 0 90 javax.swing.plaf.ColorUIResource [UI] +MenuItem.underlineSelectionCheckBackground #ccccff HSL 240 100 90 javax.swing.plaf.ColorUIResource [UI] +MenuItem.underlineSelectionColor #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] MenuItem.underlineSelectionHeight 3 #---- MenuItemCheckBox ---- -MenuItemCheckBox.icon.checkmarkColor #4d89c9 javax.swing.plaf.ColorUIResource [UI] -MenuItemCheckBox.icon.disabledCheckmarkColor #ababab javax.swing.plaf.ColorUIResource [UI] +MenuItemCheckBox.icon.checkmarkColor #4d89c9 HSL 211 53 55 javax.swing.plaf.ColorUIResource [UI] +MenuItemCheckBox.icon.disabledCheckmarkColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] #---- MenuItem ---- @@ -642,22 +642,22 @@ MonthViewUI com.formdev.flatlaf.swingx.ui.FlatMonthViewUI #---- Objects ---- -Objects.BlackText #231f20 javax.swing.plaf.ColorUIResource [UI] -Objects.Blue #40b6e0 javax.swing.plaf.ColorUIResource [UI] -Objects.Green #62b543 javax.swing.plaf.ColorUIResource [UI] -Objects.GreenAndroid #a4c639 javax.swing.plaf.ColorUIResource [UI] -Objects.Grey #9aa7b0 javax.swing.plaf.ColorUIResource [UI] -Objects.Pink #f98b9e javax.swing.plaf.ColorUIResource [UI] -Objects.Purple #b99bf8 javax.swing.plaf.ColorUIResource [UI] -Objects.Red #f26522 javax.swing.plaf.ColorUIResource [UI] -Objects.RedStatus #e05555 javax.swing.plaf.ColorUIResource [UI] -Objects.Yellow #f4af3d javax.swing.plaf.ColorUIResource [UI] -Objects.YellowDark #d9a343 javax.swing.plaf.ColorUIResource [UI] +Objects.BlackText #231f20 HSL 345 6 13 javax.swing.plaf.ColorUIResource [UI] +Objects.Blue #40b6e0 HSL 196 72 56 javax.swing.plaf.ColorUIResource [UI] +Objects.Green #62b543 HSL 104 46 49 javax.swing.plaf.ColorUIResource [UI] +Objects.GreenAndroid #a4c639 HSL 74 55 50 javax.swing.plaf.ColorUIResource [UI] +Objects.Grey #9aa7b0 HSL 205 12 65 javax.swing.plaf.ColorUIResource [UI] +Objects.Pink #f98b9e HSL 350 90 76 javax.swing.plaf.ColorUIResource [UI] +Objects.Purple #b99bf8 HSL 259 87 79 javax.swing.plaf.ColorUIResource [UI] +Objects.Red #f26522 HSL 19 89 54 javax.swing.plaf.ColorUIResource [UI] +Objects.RedStatus #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] +Objects.Yellow #f4af3d HSL 37 89 60 javax.swing.plaf.ColorUIResource [UI] +Objects.YellowDark #d9a343 HSL 38 66 56 javax.swing.plaf.ColorUIResource [UI] #---- OptionPane ---- -OptionPane.background #ffdddd javax.swing.plaf.ColorUIResource [UI] +OptionPane.background #ffdddd HSL 0 100 93 javax.swing.plaf.ColorUIResource [UI] OptionPane.border [lazy] 12,12,12,12 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] OptionPane.buttonAreaBorder [lazy] 12,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] OptionPane.buttonClickThreshhold 500 @@ -666,12 +666,12 @@ OptionPane.buttonOrientation 4 OptionPane.buttonPadding 8 OptionPane.errorIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneErrorIcon [UI] OptionPane.font [active] $defaultFont [UI] -OptionPane.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -OptionPane.icon.errorColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -OptionPane.icon.foreground #ffffff javax.swing.plaf.ColorUIResource [UI] -OptionPane.icon.informationColor #00ff00 javax.swing.plaf.ColorUIResource [UI] -OptionPane.icon.questionColor #0000ff javax.swing.plaf.ColorUIResource [UI] -OptionPane.icon.warningColor #ffcc00 javax.swing.plaf.ColorUIResource [UI] +OptionPane.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +OptionPane.icon.errorColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +OptionPane.icon.foreground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +OptionPane.icon.informationColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +OptionPane.icon.questionColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +OptionPane.icon.warningColor #ffcc00 HSL 48 100 50 javax.swing.plaf.ColorUIResource [UI] OptionPane.iconMessageGap 16 OptionPane.informationIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneInformationIcon [UI] OptionPane.maxCharactersPerLine 80 @@ -690,37 +690,37 @@ OptionPaneUI com.formdev.flatlaf.ui.FlatOptionPaneUI #---- Panel ---- -Panel.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +Panel.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] Panel.font [active] $defaultFont [UI] -Panel.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +Panel.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] PanelUI com.formdev.flatlaf.ui.FlatPanelUI #---- PasswordField ---- -PasswordField.background #ffffff javax.swing.plaf.ColorUIResource [UI] +PasswordField.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] PasswordField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] PasswordField.capsLockIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatCapsLockIcon [UI] PasswordField.caretBlinkRate 500 -PasswordField.caretForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -PasswordField.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] +PasswordField.caretForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +PasswordField.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] PasswordField.echoChar '\u2022' -PasswordField.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +PasswordField.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] PasswordField.font [active] $defaultFont [UI] -PasswordField.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveForeground #000088 javax.swing.plaf.ColorUIResource [UI] +PasswordField.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.placeholderForeground #000088 javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +PasswordField.placeholderForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] PasswordField.showCapsLock true PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI #---- Popup ---- -Popup.dropShadowColor #00ff00 javax.swing.plaf.ColorUIResource [UI] +Popup.dropShadowColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] Popup.dropShadowInsets -6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] Popup.dropShadowOpacity 0.5 Popup.dropShadowPainted true @@ -728,13 +728,13 @@ Popup.dropShadowPainted true #---- PopupMenu ---- -PopupMenu.background #ffffff javax.swing.plaf.ColorUIResource [UI] -PopupMenu.border [lazy] 4,1,4,1 false com.formdev.flatlaf.ui.FlatPopupMenuBorder [UI] lineColor=#0000ff javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -PopupMenu.borderColor #0000ff javax.swing.plaf.ColorUIResource [UI] +PopupMenu.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.border [lazy] 4,1,4,1 false com.formdev.flatlaf.ui.FlatPopupMenuBorder [UI] lineColor=#0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +PopupMenu.borderColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] PopupMenu.borderInsets 4,1,4,1 javax.swing.plaf.InsetsUIResource [UI] PopupMenu.consumeEventOnClose false PopupMenu.font [active] $defaultFont [UI] -PopupMenu.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] #---- PopupMenuSeparator ---- @@ -753,38 +753,38 @@ PopupMenuUI com.formdev.flatlaf.ui.FlatPopupMenuUI #---- ProgressBar ---- ProgressBar.arc 4 -ProgressBar.background #88ff88 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.background #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] ProgressBar.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] ProgressBar.cellLength 1 ProgressBar.cellSpacing 0 ProgressBar.cycleTime 10000 ProgressBar.font [active] Segoe UI plain 10 javax.swing.plaf.FontUIResource [UI] -ProgressBar.foreground #73737333 20% javax.swing.plaf.ColorUIResource [UI] +ProgressBar.foreground #73737333 20% HSLA 0 0 45 20 javax.swing.plaf.ColorUIResource [UI] ProgressBar.horizontalSize 146,4 javax.swing.plaf.DimensionUIResource [UI] ProgressBar.repaintInterval 15 -ProgressBar.selectionBackground #000088 javax.swing.plaf.ColorUIResource [UI] -ProgressBar.selectionForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionBackground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] ProgressBar.verticalSize 4,146 javax.swing.plaf.DimensionUIResource [UI] ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI #---- RadioButton ---- -RadioButton.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +RadioButton.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -RadioButton.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -RadioButton.disabledText #000088 javax.swing.plaf.ColorUIResource [UI] +RadioButton.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +RadioButton.disabledText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] RadioButton.font [active] $defaultFont [UI] -RadioButton.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButton.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +RadioButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 4 RadioButton.icon[filled].centerDiameter 5 -RadioButton.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +RadioButton.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] RadioButton.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] RadioButton.rollover true -RadioButton.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +RadioButton.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] RadioButton.textIconGap 4 RadioButton.textShiftOffset 0 @@ -792,20 +792,20 @@ RadioButton.textShiftOffset 0 #---- RadioButtonMenuItem ---- RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI] -RadioButtonMenuItem.acceleratorForeground #ff8888 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorForeground #ff8888 HSL 0 100 77 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorSelectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] -RadioButtonMenuItem.background #ffffff javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] RadioButtonMenuItem.borderPainted true RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI] -RadioButtonMenuItem.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] -RadioButtonMenuItem.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false -RadioButtonMenuItem.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItemUI com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI @@ -821,7 +821,7 @@ RangeSliderUI com.formdev.flatlaf.jideoss.ui.FlatRangeSliderUI #---- Resizable ---- -Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#0000ff javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 #---- RootPane ---- @@ -846,27 +846,27 @@ RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI #---- ScrollBar ---- ScrollBar.allowsAbsolutePositioning true -ScrollBar.background #ccffcc javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonDisabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -ScrollBar.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.hoverThumbColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonDisabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.hoverThumbColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] ScrollBar.hoverThumbWithTrack false -ScrollBar.hoverTrackColor #00ff00 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.hoverTrackColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] ScrollBar.maximumThumbSize 100000,100000 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.minimumThumbSize 10,10 javax.swing.plaf.DimensionUIResource [UI] ScrollBar.pressedThumbWithTrack false ScrollBar.showButtons false ScrollBar.squareButtons false -ScrollBar.thumb #73737333 20% javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumb #73737333 20% HSLA 0 0 45 20 javax.swing.plaf.ColorUIResource [UI] ScrollBar.thumbArc 0 -ScrollBar.thumbDarkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.thumbHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbDarkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ScrollBar.thumbInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -ScrollBar.thumbShadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.track #88ff88 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbShadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.track #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] ScrollBar.trackArc 0 -ScrollBar.trackHighlight #696969 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.trackHighlight #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] ScrollBar.trackInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ScrollBar.width 10 ScrollBarUI com.formdev.flatlaf.ui.FlatScrollBarUI @@ -874,11 +874,11 @@ ScrollBarUI com.formdev.flatlaf.ui.FlatScrollBarUI #---- ScrollPane ---- -ScrollPane.background #88ff88 javax.swing.plaf.ColorUIResource [UI] +ScrollPane.background #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] ScrollPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] ScrollPane.fillUpperCorner true ScrollPane.font [active] $defaultFont [UI] -ScrollPane.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +ScrollPane.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI @@ -886,9 +886,9 @@ ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI #---- SearchField ---- SearchField.clearIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] -SearchField.clearIconColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] -SearchField.clearIconHoverColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] -SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconHoverColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] +SearchField.clearIconPressedColor [lazy] #7f8b91cc 80% HSLA 200 8 53 80 javax.swing.plaf.ColorUIResource [UI] SearchField.clearPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] SearchField.clearRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatClearIcon [UI] SearchField.icon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] @@ -897,18 +897,18 @@ SearchField.popupPressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSea SearchField.popupRolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchWithHistoryIcon [UI] SearchField.pressedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] SearchField.rolloverIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatSearchIcon [UI] -SearchField.searchIconColor [lazy] #7f8b91e6 90% javax.swing.plaf.ColorUIResource [UI] -SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% javax.swing.plaf.ColorUIResource [UI] -SearchField.searchIconPressedColor [lazy] #7f8b9180 50% javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconColor [lazy] #7f8b91e6 90% HSLA 200 8 53 90 javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconHoverColor [lazy] #7f8b91b3 70% HSLA 200 8 53 70 javax.swing.plaf.ColorUIResource [UI] +SearchField.searchIconPressedColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 javax.swing.plaf.ColorUIResource [UI] #---- Separator ---- -Separator.background #ccffcc javax.swing.plaf.ColorUIResource [UI] -Separator.foreground #00bb00 javax.swing.plaf.ColorUIResource [UI] +Separator.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +Separator.foreground #00bb00 HSL 120 100 37 javax.swing.plaf.ColorUIResource [UI] Separator.height 20 -Separator.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -Separator.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +Separator.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Separator.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] Separator.stripeIndent 5 Separator.stripeWidth 10 SeparatorUI com.formdev.flatlaf.ui.FlatSeparatorUI @@ -916,30 +916,30 @@ SeparatorUI com.formdev.flatlaf.ui.FlatSeparatorUI #---- Slider ---- -Slider.background #ccffcc javax.swing.plaf.ColorUIResource [UI] -Slider.disabledThumbColor #888800 javax.swing.plaf.ColorUIResource [UI] -Slider.disabledTrackColor #ffff88 javax.swing.plaf.ColorUIResource [UI] -Slider.focus #696969 javax.swing.plaf.ColorUIResource [UI] +Slider.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +Slider.disabledThumbColor #888800 HSL 60 100 27 javax.swing.plaf.ColorUIResource [UI] +Slider.disabledTrackColor #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] +Slider.focus #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.focusWidth 4 -Slider.focusedColor #97c3f3 javax.swing.plaf.ColorUIResource [UI] +Slider.focusedColor #97c3f3 HSL 211 79 77 javax.swing.plaf.ColorUIResource [UI] Slider.font [active] $defaultFont [UI] -Slider.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Slider.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +Slider.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Slider.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Slider.horizontalSize 200,21 java.awt.Dimension -Slider.hoverThumbColor #0000ff javax.swing.plaf.ColorUIResource [UI] -Slider.hoverTrackColor #4444ff javax.swing.plaf.ColorUIResource [UI] +Slider.hoverThumbColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +Slider.hoverTrackColor #4444ff HSL 240 100 63 javax.swing.plaf.ColorUIResource [UI] Slider.minimumHorizontalSize 36,21 java.awt.Dimension Slider.minimumVerticalSize 21,36 java.awt.Dimension Slider.onlyLeftMouseButtonDrag true -Slider.pressedThumbColor #00ff00 javax.swing.plaf.ColorUIResource [UI] -Slider.pressedTrackColor #88ff88 javax.swing.plaf.ColorUIResource [UI] -Slider.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -Slider.thumbBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Slider.thumbColor #ffaaaa javax.swing.plaf.ColorUIResource [UI] +Slider.pressedThumbColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +Slider.pressedTrackColor #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] +Slider.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +Slider.thumbBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Slider.thumbColor #ffaaaa HSL 0 100 83 javax.swing.plaf.ColorUIResource [UI] Slider.thumbSize 12,12 javax.swing.plaf.DimensionUIResource [UI] -Slider.tickColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Slider.trackColor #88ff88 javax.swing.plaf.ColorUIResource [UI] +Slider.tickColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Slider.trackColor #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] Slider.trackWidth 2 Slider.verticalSize 21,200 java.awt.Dimension SliderUI com.formdev.flatlaf.ui.FlatSliderUI @@ -948,48 +948,48 @@ SliderUI com.formdev.flatlaf.ui.FlatSliderUI #---- Spinner ---- Spinner.arrowButtonSize 16,5 java.awt.Dimension -Spinner.background #ffffff javax.swing.plaf.ColorUIResource [UI] +Spinner.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Spinner.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -Spinner.buttonArrowColor #666666 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonBackground #cccccc javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonDisabledArrowColor #ababab javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonHoverArrowColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonPressedArrowColor #0000ff javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonArrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonBackground #cccccc HSL 0 0 80 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonDisabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonHoverArrowColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonPressedArrowColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonStyle button -Spinner.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -Spinner.disabledForeground #000088 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 Spinner.editorBorderPainted false -Spinner.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +Spinner.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] Spinner.font [active] $defaultFont [UI] -Spinner.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +Spinner.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Spinner.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] SpinnerUI com.formdev.flatlaf.ui.FlatSpinnerUI #---- SplitPane ---- -SplitPane.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +SplitPane.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] SplitPane.centerOneTouchButtons true SplitPane.continuousLayout true -SplitPane.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] +SplitPane.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] SplitPane.dividerSize 5 -SplitPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +SplitPane.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] SplitPane.oneTouchButtonOffset [active] 2 SplitPane.oneTouchButtonSize [active] 6 -SplitPane.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +SplitPane.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] #---- SplitPaneDivider ---- -SplitPaneDivider.draggingColor #880000 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.gripColor #afafaf javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.draggingColor #880000 HSL 0 100 27 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.gripColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] SplitPaneDivider.gripDotCount 3 SplitPaneDivider.gripDotSize 3 SplitPaneDivider.gripGap 2 -SplitPaneDivider.oneTouchArrowColor #00ff00 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.oneTouchHoverArrowColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.oneTouchPressedArrowColor #0000ff javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.oneTouchArrowColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.oneTouchHoverArrowColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.oneTouchPressedArrowColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] SplitPaneDivider.style grip @@ -1001,46 +1001,46 @@ SplitPaneUI com.formdev.flatlaf.ui.FlatSplitPaneUI #---- TabbedPane ---- TabbedPane.arrowType chevron -TabbedPane.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +TabbedPane.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] TabbedPane.buttonArc 6 -TabbedPane.buttonHoverBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.buttonHoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.buttonInsets 2,1,2,1 javax.swing.plaf.InsetsUIResource [UI] -TabbedPane.buttonPressedBackground #ffc800 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.buttonPressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeArc 999 TabbedPane.closeCrossFilledSize 6.5 TabbedPane.closeCrossLineWidth 2.0 TabbedPane.closeCrossPlainSize 12.0 -TabbedPane.closeForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.closeHoverBackground #aa0000 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeHoverBackground #aa0000 HSL 0 100 33 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon [UI] -TabbedPane.closePressedBackground #00ff00 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.closePressedForeground #000000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closePressedBackground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closePressedForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeSize 16,16 javax.swing.plaf.DimensionUIResource [UI] -TabbedPane.contentAreaColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.contentAreaColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentOpaque true TabbedPane.contentSeparatorHeight 1 -TabbedPane.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledForeground #777777 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledUnderlineColor #7a7a7a javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focus #ff0000 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focusColor #dddddd javax.swing.plaf.ColorUIResource [UI] +TabbedPane.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledForeground #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledUnderlineColor #7a7a7a HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focus #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focusColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TabbedPane.font [active] $defaultFont [UI] -TabbedPane.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.hasFullBorder false TabbedPane.hiddenTabsNavigation moreTabsButton -TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -TabbedPane.hoverColor #eeeeee javax.swing.plaf.ColorUIResource [UI] +TabbedPane.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.hoverColor #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] TabbedPane.labelShift 1 -TabbedPane.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] TabbedPane.scrollButtonsPlacement both TabbedPane.scrollButtonsPolicy asNeededSingle -TabbedPane.selectedBackground #00ff00 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.selectedForeground #0000ff javax.swing.plaf.ColorUIResource [UI] +TabbedPane.selectedBackground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.selectedForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.selectedLabelShift -1 TabbedPane.selectedTabPadInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.selectionFollowsFocus true -TabbedPane.shadow #ccffcc javax.swing.plaf.ColorUIResource [UI] +TabbedPane.shadow #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] TabbedPane.showTabSeparators false TabbedPane.tabAlignment center TabbedPane.tabAreaAlignment leading @@ -1049,60 +1049,60 @@ TabbedPane.tabHeight 32 TabbedPane.tabInsets 4,12,4,12 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.tabRunOverlay 0 TabbedPane.tabSelectionHeight 3 -TabbedPane.tabSeparatorColor #0000ff javax.swing.plaf.ColorUIResource [UI] +TabbedPane.tabSeparatorColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.tabSeparatorsFullHeight false TabbedPane.tabWidthMode preferred TabbedPane.tabsOpaque true TabbedPane.tabsOverlapBorder false TabbedPane.tabsPopupPolicy asNeeded TabbedPane.textIconGap 4 -TabbedPane.underlineColor #ffff00 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.underlineColor #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] TabbedPaneUI com.formdev.flatlaf.ui.FlatTabbedPaneUI #---- Table ---- Table.ascendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatAscendingSortIcon [UI] -Table.background #fffff0 javax.swing.plaf.ColorUIResource [UI] -Table.cellFocusColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +Table.background #fffff0 HSL 60 100 97 javax.swing.plaf.ColorUIResource [UI] +Table.cellFocusColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Table.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] -Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Default [UI] lineColor=#ff0000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Default [UI] lineColor=#ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.consistentHomeEndKeyBehavior true Table.descendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatDescendingSortIcon [UI] -Table.dropCellBackground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Table.dropCellForeground #00ff00 javax.swing.plaf.ColorUIResource [UI] -Table.dropLineColor #0000ff javax.swing.plaf.ColorUIResource [UI] -Table.dropLineShortColor #ffff00 javax.swing.plaf.ColorUIResource [UI] -Table.focusCellBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -Table.focusCellForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#ff0000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#ff0000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.dropCellBackground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.dropCellForeground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineShortColor #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.font [active] $defaultFont [UI] -Table.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Table.gridColor #00ffff javax.swing.plaf.ColorUIResource [UI] +Table.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.gridColor #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI] Table.rowHeight 25 Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatBorder [UI] -Table.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -Table.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveBackground #888888 javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +Table.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +Table.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveBackground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Table.showHorizontalLines false Table.showVerticalLines false -Table.sortIconColor #ffff00 javax.swing.plaf.ColorUIResource [UI] +Table.sortIconColor #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] #---- TableHeader ---- -TableHeader.background #4444ff javax.swing.plaf.ColorUIResource [UI] -TableHeader.bottomSeparatorColor #00ff00 javax.swing.plaf.ColorUIResource [UI] +TableHeader.background #4444ff HSL 240 100 63 javax.swing.plaf.ColorUIResource [UI] +TableHeader.bottomSeparatorColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] TableHeader.cellBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableHeaderBorder [UI] TableHeader.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] -TableHeader.focusCellBackground #4444ff javax.swing.plaf.ColorUIResource [UI] +TableHeader.focusCellBackground #4444ff HSL 240 100 63 javax.swing.plaf.ColorUIResource [UI] TableHeader.font [active] $defaultFont [UI] -TableHeader.foreground #ffffff javax.swing.plaf.ColorUIResource [UI] +TableHeader.foreground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TableHeader.height 25 -TableHeader.separatorColor #00ff00 javax.swing.plaf.ColorUIResource [UI] +TableHeader.separatorColor #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] TableHeaderUI com.formdev.flatlaf.ui.FlatTableHeaderUI @@ -1113,38 +1113,38 @@ TableUI com.formdev.flatlaf.ui.FlatTableUI #---- TaskPane ---- -TaskPane.background #00ff00 javax.swing.plaf.ColorUIResource [UI] -TaskPane.borderColor #0000ff javax.swing.plaf.ColorUIResource [UI] +TaskPane.background #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +TaskPane.borderColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] TaskPane.contentInsets 10,10,10,10 javax.swing.plaf.InsetsUIResource [UI] -TaskPane.specialTitleBackground #00ffff javax.swing.plaf.ColorUIResource [UI] -TaskPane.specialTitleForeground #444444 javax.swing.plaf.ColorUIResource [UI] -TaskPane.specialTitleOver #dd0000 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleBackgroundGradientStart #ffff00 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleForeground #ff00ff javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleOver #0000aa javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleForeground #444444 HSL 0 0 27 javax.swing.plaf.ColorUIResource [UI] +TaskPane.specialTitleOver #dd0000 HSL 0 100 43 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleBackgroundGradientStart #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleForeground #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleOver #0000aa HSL 240 100 33 javax.swing.plaf.ColorUIResource [UI] #---- TaskPaneContainer ---- -TaskPaneContainer.background #ff8888 javax.swing.plaf.ColorUIResource [UI] +TaskPaneContainer.background #ff8888 HSL 0 100 77 javax.swing.plaf.ColorUIResource [UI] TaskPaneContainer.border [lazy] 10,10,10,10 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] #---- TextArea ---- -TextArea.background #ffffff javax.swing.plaf.ColorUIResource [UI] +TextArea.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextArea.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextArea.caretBlinkRate 500 -TextArea.caretForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -TextArea.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -TextArea.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +TextArea.caretForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +TextArea.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +TextArea.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] TextArea.font [active] $defaultFont [UI] -TextArea.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveForeground #000088 javax.swing.plaf.ColorUIResource [UI] +TextArea.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] TextArea.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextArea.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -TextArea.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] TextAreaUI com.formdev.flatlaf.ui.FlatTextAreaUI @@ -1157,65 +1157,65 @@ TextComponent.selectAllOnMouseClick false #---- TextField ---- -TextField.background #ffffff javax.swing.plaf.ColorUIResource [UI] +TextField.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] TextField.caretBlinkRate 500 -TextField.caretForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -TextField.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -TextField.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -TextField.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +TextField.caretForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +TextField.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +TextField.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +TextField.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] TextField.font [active] $defaultFont [UI] -TextField.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveForeground #000088 javax.swing.plaf.ColorUIResource [UI] -TextField.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +TextField.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +TextField.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +TextField.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] TextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextField.placeholderForeground #000088 javax.swing.plaf.ColorUIResource [UI] -TextField.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -TextField.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] -TextField.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +TextField.placeholderForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +TextField.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] TextFieldUI com.formdev.flatlaf.ui.FlatTextFieldUI #---- TextPane ---- -TextPane.background #ffffff javax.swing.plaf.ColorUIResource [UI] +TextPane.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextPane.caretBlinkRate 500 -TextPane.caretForeground #0000ff javax.swing.plaf.ColorUIResource [UI] -TextPane.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -TextPane.focusedBackground #ffff88 javax.swing.plaf.ColorUIResource [UI] +TextPane.caretForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +TextPane.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +TextPane.focusedBackground #ffff88 HSL 60 100 77 javax.swing.plaf.ColorUIResource [UI] TextPane.font [active] $defaultFont [UI] -TextPane.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveBackground #f0f0f0 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveForeground #000088 javax.swing.plaf.ColorUIResource [UI] +TextPane.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveBackground #f0f0f0 HSL 0 0 94 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] TextPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextPane.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -TextPane.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI #---- TitlePane ---- -TitlePane.background #00ff00 javax.swing.plaf.ColorUIResource [UI] -TitlePane.borderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] +TitlePane.background #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +TitlePane.borderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] TitlePane.buttonMaximizedHeight 22 TitlePane.buttonSize 44,30 javax.swing.plaf.DimensionUIResource [UI] TitlePane.centerTitle false TitlePane.centerTitleIfMenuBarEmbedded true -TitlePane.closeHoverBackground #e81123 javax.swing.plaf.ColorUIResource [UI] -TitlePane.closeHoverForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TitlePane.closeHoverBackground #e81123 HSL 355 86 49 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TitlePane.closeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowCloseIcon [UI] -TitlePane.closePressedBackground #e8112399 60% javax.swing.plaf.ColorUIResource [UI] -TitlePane.closePressedForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -TitlePane.foreground #0000ff javax.swing.plaf.ColorUIResource [UI] +TitlePane.closePressedBackground #e8112399 60% HSLA 355 86 49 60 javax.swing.plaf.ColorUIResource [UI] +TitlePane.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TitlePane.foreground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] TitlePane.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) TitlePane.iconMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] TitlePane.iconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TitlePane.iconifyIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowIconifyIcon [UI] -TitlePane.inactiveBackground #008800 javax.swing.plaf.ColorUIResource [UI] -TitlePane.inactiveForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveBackground #008800 HSL 120 100 27 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TitlePane.maximizeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowMaximizeIcon [UI] TitlePane.menuBarEmbedded true TitlePane.menuBarTitleGap 20 @@ -1227,9 +1227,9 @@ TitlePane.useWindowDecorations true #---- TitledBorder ---- -TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#ff00ff javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 TitledBorder.font [active] $defaultFont [UI] -TitledBorder.titleColor #ff00ff javax.swing.plaf.ColorUIResource [UI] +TitledBorder.titleColor #ff00ff HSL 300 100 50 javax.swing.plaf.ColorUIResource [UI] #---- TitledPanel ---- @@ -1239,59 +1239,59 @@ TitledPanelUI com.formdev.flatlaf.swingx.ui.FlatTitledPanelUI #---- ToggleButton ---- -ToggleButton.background #ddddff javax.swing.plaf.ColorUIResource [UI] +ToggleButton.background #ddddff HSL 240 100 93 javax.swing.plaf.ColorUIResource [UI] ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] -ToggleButton.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledBackground #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledSelectedBackground #44dd44 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.disabledText #000088 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.focusedBackground #00ffff javax.swing.plaf.ColorUIResource [UI] +ToggleButton.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledBackground #e0e0e0 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledSelectedBackground #44dd44 HSL 120 69 57 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.focusedBackground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] -ToggleButton.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ToggleButton.hoverBackground #ffff00 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.hoverBackground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] ToggleButton.iconTextGap 4 -ToggleButton.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] ToggleButton.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [UI] -ToggleButton.pressedBackground #ffc800 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.pressedBackground #ffc800 HSL 47 100 50 javax.swing.plaf.ColorUIResource [UI] ToggleButton.rollover true -ToggleButton.selectedBackground #44ff44 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.selectedForeground #000000 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.disabledUnderlineColor #7a7a7a javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.focusBackground #dddddd javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.hoverBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.selectedBackground #00ff00 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.tab.underlineColor #ffff00 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.selectedBackground #44ff44 HSL 120 100 63 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.selectedForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.disabledUnderlineColor #7a7a7a HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.focusBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.hoverBackground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.selectedBackground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.tab.underlineColor #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.underlineHeight 2 ToggleButton.textIconGap 4 ToggleButton.textShiftOffset 0 -ToggleButton.toolbar.hoverBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -ToggleButton.toolbar.pressedBackground #eeeeee javax.swing.plaf.ColorUIResource [UI] -ToggleButton.toolbar.selectedBackground #dddddd javax.swing.plaf.ColorUIResource [UI] +ToggleButton.toolbar.hoverBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.toolbar.pressedBackground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.toolbar.selectedBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ToggleButtonUI com.formdev.flatlaf.ui.FlatToggleButtonUI #---- ToolBar ---- -ToolBar.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +ToolBar.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] ToolBar.border [lazy] 2,2,2,2 false com.formdev.flatlaf.ui.FlatToolBarBorder [UI] ToolBar.borderMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -ToolBar.darkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingBackground #ccffcc javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingBackground #ccffcc javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingForeground #000088 javax.swing.plaf.ColorUIResource [UI] +ToolBar.darkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingBackground #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingBackground #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingForeground #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons true ToolBar.font [active] $defaultFont [UI] -ToolBar.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -ToolBar.gripColor #afafaf javax.swing.plaf.ColorUIResource [UI] -ToolBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] +ToolBar.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +ToolBar.gripColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +ToolBar.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ToolBar.isRollover true -ToolBar.light #e3e3e3 javax.swing.plaf.ColorUIResource [UI] -ToolBar.separatorColor #00bb00 javax.swing.plaf.ColorUIResource [UI] +ToolBar.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] +ToolBar.separatorColor #00bb00 HSL 120 100 37 javax.swing.plaf.ColorUIResource [UI] ToolBar.separatorWidth 7 -ToolBar.shadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] +ToolBar.shadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] ToolBar.spacingBorder [lazy] 1,2,1,2 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] @@ -1307,10 +1307,10 @@ ToolBarUI com.formdev.flatlaf.ui.FlatToolBarUI #---- ToolTip ---- -ToolTip.background #eeeeff javax.swing.plaf.ColorUIResource [UI] -ToolTip.border [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] +ToolTip.background #eeeeff HSL 240 100 97 javax.swing.plaf.ColorUIResource [UI] +ToolTip.border [lazy] line: #000000 HSL 0 0 0 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] ToolTip.font [active] $defaultFont [UI] -ToolTip.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +ToolTip.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] #---- ToolTipManager ---- @@ -1325,26 +1325,26 @@ ToolTipUI com.formdev.flatlaf.ui.FlatToolTipUI #---- Tree ---- -Tree.background #fff0ff javax.swing.plaf.ColorUIResource [UI] +Tree.background #fff0ff HSL 300 100 97 javax.swing.plaf.ColorUIResource [UI] Tree.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] Tree.changeSelectionWithFocus true Tree.closedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeClosedIcon [UI] Tree.collapsedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeCollapsedIcon [UI] Tree.drawsFocusBorderAroundIcon false -Tree.dropCellBackground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Tree.dropCellForeground #00ff00 javax.swing.plaf.ColorUIResource [UI] -Tree.dropLineColor #0000ff javax.swing.plaf.ColorUIResource [UI] -Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#ff0000 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 -Tree.editorBorderSelectionColor #0000ff javax.swing.plaf.ColorUIResource [UI] +Tree.dropCellBackground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.dropCellForeground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.dropLineColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +Tree.editorBorderSelectionColor #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] Tree.expandedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeExpandedIcon [UI] Tree.font [active] $defaultFont [UI] -Tree.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] -Tree.hash #ff0000 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.closedColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.collapsedColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.expandedColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.leafColor #afafaf javax.swing.plaf.ColorUIResource [UI] -Tree.icon.openColor #afafaf javax.swing.plaf.ColorUIResource [UI] +Tree.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.hash #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.closedColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.collapsedColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.expandedColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.leafColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.openColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] Tree.leafIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeLeafIcon [UI] Tree.leftChildIndent 7 Tree.lineTypeDashed false @@ -1356,14 +1356,14 @@ Tree.repaintWholeRow true Tree.rightChildIndent 11 Tree.rowHeight 0 Tree.scrollsOnExpand true -Tree.selectionBackground #00aa00 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionBorderColor #ff0000 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionForeground #ffff00 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveBackground #888888 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveForeground #ffffff javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBackground #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveBackground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Tree.showCellFocusIndicator false -Tree.textBackground #fff0ff javax.swing.plaf.ColorUIResource [UI] -Tree.textForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] +Tree.textBackground #fff0ff HSL 300 100 97 javax.swing.plaf.ColorUIResource [UI] +Tree.textForeground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] Tree.timeFactor 1000 Tree.wideSelection true TreeUI com.formdev.flatlaf.ui.FlatTreeUI @@ -1381,25 +1381,25 @@ TristateCheckBox.setMixed.clientProperty length=2 [Ljava.lang.Object; #---- Viewport ---- -Viewport.background #ccffcc javax.swing.plaf.ColorUIResource [UI] +Viewport.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] Viewport.font [active] $defaultFont [UI] -Viewport.foreground #ff0000 javax.swing.plaf.ColorUIResource [UI] +Viewport.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- ---- -activeCaption #99b4d1 javax.swing.plaf.ColorUIResource [UI] -activeCaptionBorder #99b4d1 javax.swing.plaf.ColorUIResource [UI] -activeCaptionText #ff0000 javax.swing.plaf.ColorUIResource [UI] -control #ccffcc javax.swing.plaf.ColorUIResource [UI] -controlDkShadow #696969 javax.swing.plaf.ColorUIResource [UI] -controlHighlight #e3e3e3 javax.swing.plaf.ColorUIResource [UI] -controlLtHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -controlShadow #a0a0a0 javax.swing.plaf.ColorUIResource [UI] -controlText #ff0000 javax.swing.plaf.ColorUIResource [UI] +activeCaption #99b4d1 HSL 211 38 71 javax.swing.plaf.ColorUIResource [UI] +activeCaptionBorder #99b4d1 HSL 211 38 71 javax.swing.plaf.ColorUIResource [UI] +activeCaptionText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +control #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +controlDkShadow #696969 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +controlHighlight #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] +controlLtHighlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +controlShadow #a0a0a0 HSL 0 0 63 javax.swing.plaf.ColorUIResource [UI] +controlText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] defaultFont Segoe UI plain 12 javax.swing.plaf.FontUIResource [UI] -desktop #ffffff javax.swing.plaf.ColorUIResource [UI] +desktop #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] #---- html ---- @@ -1410,11 +1410,11 @@ html.pendingImage [lazy] 38,38 sun.swing.ImageIconUIResource [UI #---- ---- -inactiveCaption #bfcddb javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionBorder #bfcddb javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionText #ff0000 javax.swing.plaf.ColorUIResource [UI] -info #eeeeff javax.swing.plaf.ColorUIResource [UI] -infoText #ff0000 javax.swing.plaf.ColorUIResource [UI] +inactiveCaption #bfcddb HSL 210 28 80 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionBorder #bfcddb HSL 210 28 80 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +info #eeeeff HSL 240 100 97 javax.swing.plaf.ColorUIResource [UI] +infoText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] #---- laf ---- @@ -1425,9 +1425,9 @@ laf.scaleFactor [active] 1.0 #---- ---- -menu #ccffcc javax.swing.plaf.ColorUIResource [UI] -menuText #ff0000 javax.swing.plaf.ColorUIResource [UI] -scrollbar #88ff88 javax.swing.plaf.ColorUIResource [UI] +menu #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +menuText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +scrollbar #88ff88 HSL 120 100 77 javax.swing.plaf.ColorUIResource [UI] #---- swingx/TaskPane ---- @@ -1437,11 +1437,11 @@ swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI #---- ---- -text #ffffff javax.swing.plaf.ColorUIResource [UI] -textHighlight #00aa00 javax.swing.plaf.ColorUIResource [UI] -textHighlightText #ffff00 javax.swing.plaf.ColorUIResource [UI] -textInactiveText #000088 javax.swing.plaf.ColorUIResource [UI] -textText #ff0000 javax.swing.plaf.ColorUIResource [UI] -window #ccffcc javax.swing.plaf.ColorUIResource [UI] -windowBorder #ff0000 javax.swing.plaf.ColorUIResource [UI] -windowText #ff0000 javax.swing.plaf.ColorUIResource [UI] +text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +textHighlight #00aa00 HSL 120 100 33 javax.swing.plaf.ColorUIResource [UI] +textHighlightText #ffff00 HSL 60 100 50 javax.swing.plaf.ColorUIResource [UI] +textInactiveText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] +textText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +window #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] +windowBorder #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +windowText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java index 0042a763..a1aa6b40 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java @@ -70,6 +70,7 @@ import com.formdev.flatlaf.ui.FlatUIUtils; import com.formdev.flatlaf.util.ColorFunctions.ColorFunction; import com.jidesoft.plaf.LookAndFeelFactory; import com.formdev.flatlaf.util.DerivedColor; +import com.formdev.flatlaf.util.HSLColor; import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.SystemInfo; @@ -84,6 +85,7 @@ public class UIDefaultsDump private final UIDefaults defaults; private final Properties derivedColorKeys; private final boolean isIntelliJTheme; + private final boolean dumpHSL; private String lastPrefix; private JComponent dummyComponent; @@ -349,6 +351,7 @@ public class UIDefaultsDump derivedColorKeys = loadDerivedColorKeys(); isIntelliJTheme = (lookAndFeel instanceof IntelliJTheme.ThemeLaf); + dumpHSL = lookAndFeel instanceof FlatLaf; } private void dump( PrintWriter out, Predicate keyFilter ) { @@ -457,16 +460,16 @@ public class UIDefaultsDump if( resolvedColor != color && resolvedColor.getRGB() != color.getRGB() ) { if( !isIntelliJTheme ) { System.err.println( "Key '" + key + "': derived colors not equal" ); - System.err.println( " Default color: " + dumpColorHex( color ) ); - System.err.println( " Resolved color: " + dumpColorHex( resolvedColor ) ); + System.err.println( " Default color: " + dumpColorHexAndHSL( color ) ); + System.err.println( " Resolved color: " + dumpColorHexAndHSL( resolvedColor ) ); } out.printf( "%s / ", - dumpColorHex( resolvedColor ) ); + dumpColorHexAndHSL( resolvedColor ) ); } out.printf( "%s %s", - dumpColorHex( color ), + dumpColorHexAndHSL( color ), dumpClass( color ) ); if( color instanceof DerivedColor ) { @@ -479,6 +482,13 @@ public class UIDefaultsDump } } + private String dumpColorHexAndHSL( Color color ) { + String hex = dumpColorHex( color ); + return dumpHSL + ? hex + " " + dumpColorHSL( color ) + : hex; + } + private String dumpColorHex( Color color ) { boolean hasAlpha = (color.getAlpha() != 255); return hasAlpha @@ -486,6 +496,21 @@ public class UIDefaultsDump : String.format( "#%06x", color.getRGB() & 0xffffff ); } + private String dumpColorHSL( Color color ) { + HSLColor hslColor = new HSLColor( color ); + int hue = Math.round( hslColor.getHue() ); + int saturation = Math.round( hslColor.getSaturation() ); + int luminance = Math.round( hslColor.getLuminance() ); + if( color.getAlpha() == 255 ) { + return String.format( "HSL %3d %3d %3d", + hue, saturation, luminance ); + } else { + int alpha = Math.round( hslColor.getAlpha() * 100 ); + return String.format( "HSLA %3d %3d %3d %2d", + hue, saturation, luminance, alpha ); + } + } + private void dumpFont( PrintWriter out, Font font ) { String strStyle = font.isBold() ? font.isItalic() ? "bolditalic" : "bold" From 3eeeb9e00b8fa35b34e356c738cc0bdc564a20ba Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 7 Aug 2021 11:18:00 +0200 Subject: [PATCH 23/81] Theme Editor: update RSyntaxTextArea from 3.1.2 to 3.1.3 --- flatlaf-theme-editor/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flatlaf-theme-editor/build.gradle.kts b/flatlaf-theme-editor/build.gradle.kts index 8841a49f..c035a919 100644 --- a/flatlaf-theme-editor/build.gradle.kts +++ b/flatlaf-theme-editor/build.gradle.kts @@ -23,9 +23,9 @@ dependencies { implementation( project( ":flatlaf-extras" ) ) implementation( "com.miglayout:miglayout-swing:5.3" ) - implementation( "com.fifesoft:rsyntaxtextarea:3.1.2" ) - implementation( "com.fifesoft:autocomplete:3.1.1" ) - implementation( "com.fifesoft:rstaui:3.1.1" ) + implementation( "com.fifesoft:rsyntaxtextarea:3.1.3" ) + implementation( "com.fifesoft:autocomplete:3.1.2" ) + implementation( "com.fifesoft:rstaui:3.1.2" ) } tasks { From 49913b7dad88e65bca3a0252f10cf0dd1666a75b Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 7 Aug 2021 12:51:00 +0200 Subject: [PATCH 24/81] Theme Editor: duplicate lines with `Ctrl+Alt+Up` or `Ctrl+Alt+Down` --- .../themeeditor/FlatSyntaxTextArea.java | 17 +++++ .../FlatSyntaxTextAreaActions.java | 76 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextAreaActions.java diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java index 05f7f8b3..2b1a0ee8 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java @@ -18,13 +18,20 @@ package com.formdev.flatlaf.themeeditor; import java.awt.Color; import java.awt.KeyboardFocusManager; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import javax.swing.ActionMap; +import javax.swing.InputMap; +import javax.swing.KeyStroke; import javax.swing.text.BadLocationException; import org.fife.ui.rsyntaxtextarea.TextEditorPane; import org.fife.ui.rsyntaxtextarea.Token; +import org.fife.ui.rtextarea.RTextArea; import com.formdev.flatlaf.UIDefaultsLoaderAccessor; +import com.formdev.flatlaf.themeeditor.FlatSyntaxTextAreaActions.DuplicateLinesAction; /** * A text area that supports editing FlatLaf themes. @@ -43,6 +50,16 @@ class FlatSyntaxTextArea // remove Ctrl+Tab and Ctrl+Shift+Tab focus traversal keys to allow tabbed pane to process them setFocusTraversalKeys( KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.emptySet() ); setFocusTraversalKeys( KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, Collections.emptySet() ); + + ActionMap actionMap = getActionMap(); + actionMap.put( FlatSyntaxTextAreaActions.duplicateLinesUpAction, new DuplicateLinesAction( FlatSyntaxTextAreaActions.duplicateLinesUpAction, true ) ); + actionMap.put( FlatSyntaxTextAreaActions.duplicateLinesDownAction, new DuplicateLinesAction( FlatSyntaxTextAreaActions.duplicateLinesDownAction, false ) ); + + InputMap inputMap = getInputMap(); + int defaultModifier = RTextArea.getDefaultModifier(); + int alt = InputEvent.ALT_DOWN_MASK; + inputMap.put( KeyStroke.getKeyStroke( KeyEvent.VK_UP, defaultModifier|alt), FlatSyntaxTextAreaActions.duplicateLinesUpAction ); + inputMap.put( KeyStroke.getKeyStroke( KeyEvent.VK_DOWN, defaultModifier|alt), FlatSyntaxTextAreaActions.duplicateLinesDownAction ); } boolean isUseColorOfColorTokens() { diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextAreaActions.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextAreaActions.java new file mode 100644 index 00000000..308f12e2 --- /dev/null +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextAreaActions.java @@ -0,0 +1,76 @@ +/* + * Copyright 2021 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.themeeditor; + +import java.awt.event.ActionEvent; +import javax.swing.text.BadLocationException; +import org.fife.ui.rtextarea.RTextArea; +import org.fife.ui.rtextarea.RecordableTextAction; + +/** + * @author Karl Tauber + */ +class FlatSyntaxTextAreaActions +{ + static final String duplicateLinesUpAction = "FlatLaf.DuplicateLinesUpAction"; + static final String duplicateLinesDownAction = "FlatLaf.DuplicateLinesDownAction"; + + static class DuplicateLinesAction + extends RecordableTextAction + { + private final boolean up; + + public DuplicateLinesAction( String name, boolean up ) { + super( name ); + this.up = up; + } + + @Override + public void actionPerformedImpl( ActionEvent e, RTextArea textArea ) { + try { + int selStartLine = textArea.getLineOfOffset( textArea.getSelectionStart() ); + int selEndLine = textArea.getLineOfOffset( textArea.getSelectionEnd() ); + + int linesStart = textArea.getLineStartOffset( selStartLine ); + int linesEnd = textArea.getLineEndOffset( selEndLine ); + + String linesText = textArea.getText( linesStart, linesEnd - linesStart ); + if( !linesText.endsWith( "\n" ) ) + linesText += "\n"; + + textArea.replaceRange( linesText, linesStart, linesStart ); + + if( up ) + textArea.select( linesStart, linesStart + linesText.length() - 1 ); + else { + int newSelStart = linesStart + linesText.length(); + int newSelEnd = newSelStart + linesText.length(); + if( linesText.endsWith( "\n" ) ) + newSelEnd--; + textArea.select( newSelStart, newSelEnd ); + } + } catch( BadLocationException ex ) { + ex.printStackTrace(); + } + } + + @Override + public String getMacroID() { + return getName(); + } + } +} From ed62266a4305a90cd12e072867015d371ea19713 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 7 Aug 2021 12:55:25 +0200 Subject: [PATCH 25/81] Theme Editor: always select all text in find/replace text fields --- .../flatlaf/themeeditor/FlatFindReplaceBar.java | 11 +++++++---- .../flatlaf/themeeditor/FlatFindReplaceBar.jfd | 8 +++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java index f906c9fe..4c3db636 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.java @@ -23,6 +23,7 @@ import java.util.function.Consumer; import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +import com.formdev.flatlaf.extras.components.*; import org.fife.rsta.ui.CollapsibleSectionPanel; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; import org.fife.ui.rtextarea.SearchContext; @@ -204,7 +205,7 @@ class FlatFindReplaceBar private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents findLabel = new JLabel(); - findField = new JTextField(); + findField = new FlatTextField(); findToolBar = new JToolBar(); findPreviousButton = new JButton(); findNextButton = new JButton(); @@ -215,7 +216,7 @@ class FlatFindReplaceBar closeToolBar = new JToolBar(); closeButton = new JButton(); replaceLabel = new JLabel(); - replaceField = new JTextField(); + replaceField = new FlatTextField(); toolBar1 = new JToolBar(); replaceButton = new JButton(); replaceAllButton = new JButton(); @@ -243,6 +244,7 @@ class FlatFindReplaceBar //---- findField ---- findField.setColumns(16); + findField.setSelectAllOnFocusPolicy(FlatTextField.SelectAllOnFocusPolicy.always); findField.addActionListener(e -> find()); add(findField, "cell 1 0"); @@ -303,6 +305,7 @@ class FlatFindReplaceBar //---- replaceField ---- replaceField.setColumns(16); + replaceField.setSelectAllOnFocusPolicy(FlatTextField.SelectAllOnFocusPolicy.always); add(replaceField, "cell 1 1"); //======== toolBar1 ======== @@ -332,7 +335,7 @@ class FlatFindReplaceBar // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables private JLabel findLabel; - private JTextField findField; + private FlatTextField findField; private JToolBar findToolBar; private JButton findPreviousButton; private JButton findNextButton; @@ -343,7 +346,7 @@ class FlatFindReplaceBar private JToolBar closeToolBar; private JButton closeButton; private JLabel replaceLabel; - private JTextField replaceField; + private FlatTextField replaceField; private JToolBar toolBar1; private JButton replaceButton; private JButton replaceAllButton; diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.jfd b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.jfd index a5ed0622..bc0c6d0c 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.jfd +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatFindReplaceBar.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.3.1.342" Java: "15" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.4.0.360" Java: "16" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -18,9 +18,10 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 0" } ) - add( new FormComponent( "javax.swing.JTextField" ) { + add( new FormComponent( "com.formdev.flatlaf.extras.components.FlatTextField" ) { name: "findField" "columns": 16 + "selectAllOnFocusPolicy": enum com.formdev.flatlaf.extras.components.FlatTextField$SelectAllOnFocusPolicy always addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "find", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 0" @@ -86,9 +87,10 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 0 1" } ) - add( new FormComponent( "javax.swing.JTextField" ) { + add( new FormComponent( "com.formdev.flatlaf.extras.components.FlatTextField" ) { name: "replaceField" "columns": 16 + "selectAllOnFocusPolicy": enum com.formdev.flatlaf.extras.components.FlatTextField$SelectAllOnFocusPolicy always }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 1" } ) From b65db707ed6f51e78fc7cde534af28e7ecbe68ae Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sat, 7 Aug 2021 14:59:20 +0200 Subject: [PATCH 26/81] Theme Editor: auto-completion improved: support auto-activate after spaces, tabs or ',' --- .../formdev/flatlaf/themeeditor/FlatCompletionProvider.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java index cc759bb9..4e764231 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatCompletionProvider.java @@ -110,14 +110,13 @@ class FlatCompletionProvider switch( lineBeforeCaret.charAt( i ) ) { case '=': case '(': + case ',': return getValueProvider(); case '$': case '@': return getReferenceProvider(); - case ' ': - case '\t': case '#': // colors return null; } From 71ba8f55a731e690bd71302524820b262c2a4158 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Sun, 8 Aug 2021 17:43:59 +0200 Subject: [PATCH 27/81] Theme Editor: - support dark theme (menu "View > Dark Laf") - moved RSyntaxTextArea theme config from XML to properties files - bracket matching enabled - highlight selected tab background --- .../themeeditor/FlatSyntaxTextArea.java | 6 + .../themeeditor/FlatThemeEditorPane.java | 105 +++++++++++++----- .../themeeditor/FlatThemeFileEditor.java | 71 +++++++++++- .../themeeditor/FlatThemeFileEditor.jfd | 29 ++++- .../themeeditor/FlatThemeTokenMaker.java | 4 +- .../themeeditor/FlatDarkLaf.properties | 65 +++++++++++ .../themeeditor/FlatLightLaf.properties | 65 +++++++++++ .../com/formdev/flatlaf/themeeditor/light.xml | 78 ------------- 8 files changed, 314 insertions(+), 109 deletions(-) create mode 100644 flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatDarkLaf.properties create mode 100644 flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLightLaf.properties delete mode 100644 flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/light.xml diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java index 2b1a0ee8..f989e5a0 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatSyntaxTextArea.java @@ -26,6 +26,7 @@ import java.util.Map; import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.KeyStroke; +import javax.swing.UIManager; import javax.swing.text.BadLocationException; import org.fife.ui.rsyntaxtextarea.TextEditorPane; import org.fife.ui.rsyntaxtextarea.Token; @@ -47,14 +48,19 @@ class FlatSyntaxTextArea private final Map parsedColorsMap = new HashMap<>(); FlatSyntaxTextArea() { + // this is necessary because RTextAreaBase.init() always sets foreground to black + setForeground( UIManager.getColor( "TextArea.foreground" ) ); + // remove Ctrl+Tab and Ctrl+Shift+Tab focus traversal keys to allow tabbed pane to process them setFocusTraversalKeys( KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.emptySet() ); setFocusTraversalKeys( KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, Collections.emptySet() ); + // add editor actions ActionMap actionMap = getActionMap(); actionMap.put( FlatSyntaxTextAreaActions.duplicateLinesUpAction, new DuplicateLinesAction( FlatSyntaxTextAreaActions.duplicateLinesUpAction, true ) ); actionMap.put( FlatSyntaxTextAreaActions.duplicateLinesDownAction, new DuplicateLinesAction( FlatSyntaxTextAreaActions.duplicateLinesDownAction, false ) ); + // add editor key strokes InputMap inputMap = getInputMap(); int defaultModifier = RTextArea.getDefaultModifier(); int alt = InputEvent.ALT_DOWN_MASK; diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeEditorPane.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeEditorPane.java index d09b4c4f..0e1c0c1b 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeEditorPane.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeEditorPane.java @@ -22,9 +22,9 @@ import java.awt.Font; import java.awt.Window; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.List; +import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JLayer; import javax.swing.JOptionPane; @@ -38,10 +38,13 @@ import org.fife.ui.autocomplete.CompletionProvider; import org.fife.ui.rsyntaxtextarea.AbstractTokenMakerFactory; import org.fife.ui.rsyntaxtextarea.ErrorStrip; import org.fife.ui.rsyntaxtextarea.FileLocation; +import org.fife.ui.rsyntaxtextarea.Style; import org.fife.ui.rsyntaxtextarea.SyntaxScheme; import org.fife.ui.rsyntaxtextarea.TextEditorPane; -import org.fife.ui.rsyntaxtextarea.Theme; import org.fife.ui.rsyntaxtextarea.TokenMakerFactory; +import org.fife.ui.rsyntaxtextarea.TokenTypes; +import org.fife.ui.rtextarea.Gutter; +import org.fife.ui.rtextarea.RTextArea; import org.fife.ui.rtextarea.RTextScrollPane; import com.formdev.flatlaf.util.UIScale; @@ -60,6 +63,7 @@ class FlatThemeEditorPane private final CollapsibleSectionPanel collapsiblePanel; private final RTextScrollPane scrollPane; private final FlatSyntaxTextArea textArea; + private final ErrorStrip errorStrip; private FlatFindReplaceBar findReplaceBar; private File file; @@ -82,20 +86,6 @@ class FlatThemeEditorPane firePropertyChange( DIRTY_PROPERTY, e.getOldValue(), e.getNewValue() ); } ); - // theme - try( InputStream in = getClass().getResourceAsStream( "light.xml" ) ) { - Theme theme = Theme.load( in ); - theme.apply( textArea ); - } catch( IOException ex ) { - ex.printStackTrace(); - } - - // use semitransparent token background because token background - // is painted over mark occurrences background - SyntaxScheme scheme = textArea.getSyntaxScheme(); - scheme.getStyle( FlatThemeTokenMaker.TOKEN_COLOR ).background = new Color( 0x0a000000, true ); - scheme.getStyle( FlatThemeTokenMaker.TOKEN_VARIABLE ).background = new Color( 0x1800cc00, true ); - // autocomplete CompletionProvider provider = new FlatCompletionProvider(); AutoCompletion ac = new AutoCompletion( provider ); @@ -111,29 +101,49 @@ class FlatThemeEditorPane // create scroll pane scrollPane = new RTextScrollPane( overlay ); - scrollPane.setBorder( null ); + scrollPane.setBorder( BorderFactory.createEmptyBorder() ); scrollPane.setLineNumbersEnabled( true ); - // scale fonts - if( UIScale.getUserScaleFactor() != 1 ) - textArea.setFont( scaleFont( textArea.getFont() ) ); - - // use same font for line numbers as in editor - scrollPane.getGutter().setLineNumberFont( textArea.getFont() ); - // create error strip - ErrorStrip errorStrip = new ErrorStrip( textArea ); + errorStrip = new ErrorStrip( textArea ); // create collapsible panel collapsiblePanel = new CollapsibleSectionPanel(); collapsiblePanel.add( scrollPane ); collapsiblePanel.add( errorStrip, BorderLayout.LINE_END ); add( collapsiblePanel, BorderLayout.CENTER ); + + updateTheme(); } - private static Font scaleFont( Font font ) { - int newFontSize = UIScale.scale( font.getSize() ); - return font.deriveFont( (float) newFontSize ); + void updateTheme() { + Font defaultFont = RTextArea.getDefaultFont(); + Font font = defaultFont.deriveFont( (float) UIManager.getFont( "defaultFont" ).getSize() ); + + textArea.setFont( font ); + textArea.setBackground( UIManager.getColor( "FlatThemeEditorPane.background" ) ); + textArea.setCaretColor( UIManager.getColor( "FlatThemeEditorPane.caretColor" ) ); + textArea.setSelectionColor( UIManager.getColor( "FlatThemeEditorPane.selectionBackground" ) ); + textArea.setCurrentLineHighlightColor( UIManager.getColor( "FlatThemeEditorPane.currentLineHighlight" ) ); + textArea.setMarkAllHighlightColor( UIManager.getColor( "FlatThemeEditorPane.markAllHighlightColor" ) ); + textArea.setMarkOccurrencesColor( UIManager.getColor( "FlatThemeEditorPane.markOccurrencesColor" ) ); + textArea.setMatchedBracketBGColor( UIManager.getColor( "FlatThemeEditorPane.matchedBracketBackground" ) ); + textArea.setMatchedBracketBorderColor( UIManager.getColor( "FlatThemeEditorPane.matchedBracketBorderColor" ) ); + textArea.setPaintMatchedBracketPair( true ); + textArea.setAnimateBracketMatching( false ); + + // syntax + textArea.setSyntaxScheme( new FlatSyntaxScheme( font ) ); + + // gutter + Gutter gutter = scrollPane.getGutter(); + gutter.setBackground( UIManager.getColor( "FlatThemeEditorPane.gutter.background" ) ); + gutter.setBorderColor( UIManager.getColor( "FlatThemeEditorPane.gutter.borderColor" ) ); + gutter.setLineNumberColor( UIManager.getColor( "FlatThemeEditorPane.gutter.lineNumberColor" ) ); + gutter.setLineNumberFont( font ); + + // error strip + errorStrip.setCaretMarkerColor( UIManager.getColor( "FlatThemeEditorPane.errorstrip.caretMarkerColor" ) ); } @Override @@ -233,4 +243,43 @@ class FlatThemeEditorPane collapsiblePanel.showBottomComponent( findReplaceBar ); } + + //---- class FlatSyntaxScheme --------------------------------------------- + + private static class FlatSyntaxScheme + extends SyntaxScheme + { + FlatSyntaxScheme( Font baseFont ) { + super( false ); + + Style[] styles = getStyles(); + for( int i = 0; i < styles.length; i++ ) + styles[i] = new Style( Color.red ); + + init( "property", FlatThemeTokenMaker.TOKEN_PROPERTY, baseFont ); + init( "variable", FlatThemeTokenMaker.TOKEN_VARIABLE, baseFont ); + init( "number", FlatThemeTokenMaker.TOKEN_NUMBER, baseFont ); + init( "color", FlatThemeTokenMaker.TOKEN_COLOR, baseFont ); + init( "string", FlatThemeTokenMaker.TOKEN_STRING, baseFont ); + init( "function", FlatThemeTokenMaker.TOKEN_FUNCTION, baseFont ); + init( "type", FlatThemeTokenMaker.TOKEN_TYPE, baseFont ); + init( "reservedWord", TokenTypes.RESERVED_WORD, baseFont ); + init( "literalBoolean", TokenTypes.LITERAL_BOOLEAN, baseFont ); + init( "operator", TokenTypes.OPERATOR, baseFont ); + init( "separator", TokenTypes.SEPARATOR, baseFont ); + init( "whitespace", TokenTypes.WHITESPACE, baseFont ); + init( "comment", TokenTypes.COMMENT_EOL, baseFont ); + } + + private void init( String key, int token, Font baseFont ) { + String prefix = "FlatThemeEditorPane.style."; + Color fg = UIManager.getColor( prefix + key ); + Color bg = UIManager.getColor( prefix + key + ".background" ); + boolean italic = UIManager.getBoolean( prefix + key + ".italic" ); + Font font = Style.DEFAULT_FONT; + if( italic ) + font = baseFont.deriveFont( Font.ITALIC ); + getStyles()[token] = new Style( fg, bg, font ); + } + } } diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.java index f2e74feb..9346aa35 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.java @@ -37,6 +37,8 @@ import java.util.function.Supplier; import java.util.prefs.Preferences; import javax.swing.*; import net.miginfocom.swing.*; +import com.formdev.flatlaf.FlatDarkLaf; +import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.extras.FlatInspector; import com.formdev.flatlaf.extras.FlatSVGIcon; @@ -59,6 +61,7 @@ public class FlatThemeFileEditor private static final String KEY_RECENT_DIRECTORY = "recentDirectory"; private static final String KEY_RECENT_FILE = "recentFile"; private static final String KEY_WINDOW_BOUNDS = "windowBounds"; + private static final String KEY_LAF = "laf"; private File dir; private Preferences state; @@ -70,7 +73,15 @@ public class FlatThemeFileEditor : null; SwingUtilities.invokeLater( () -> { - FlatLightLaf.setup(); + FlatLaf.registerCustomDefaultsSource( "com.formdev.flatlaf.themeeditor" ); + + try { + String laf = Preferences.userRoot().node( PREFS_ROOT_PATH ).get( KEY_LAF, FlatLightLaf.class.getName() ); + UIManager.setLookAndFeel( laf ); + } catch( Exception ex ) { + FlatLightLaf.setup(); + } + FlatInspector.install( "ctrl alt shift X" ); FlatUIDefaultsInspector.install( "ctrl shift alt Y" ); @@ -83,6 +94,8 @@ public class FlatThemeFileEditor initComponents(); openDirectoryButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/themeeditor/icons/menu-open.svg" ) ); + if( UIManager.getLookAndFeel() instanceof FlatDarkLaf ) + darkLafMenuItem.setSelected( true ); restoreState(); restoreWindowBounds(); @@ -338,6 +351,29 @@ public class FlatThemeFileEditor themeEditorPane.showFindReplaceBar(); } + private void lightLaf() { + applyLookAndFeel( FlatLightLaf.class.getName() ); + } + + private void darkLaf() { + applyLookAndFeel( FlatDarkLaf.class.getName() ); + } + + private void applyLookAndFeel( String lafClassName ) { + if( UIManager.getLookAndFeel().getClass().getName().equals( lafClassName ) ) + return; + + try { + UIManager.setLookAndFeel( lafClassName ); + FlatLaf.updateUI(); + for( FlatThemeEditorPane themeEditorPane : getThemeEditorPanes() ) + themeEditorPane.updateTheme(); + state.put( KEY_LAF, lafClassName ); + } catch( Exception ex ) { + ex.printStackTrace(); + } + } + private void restoreState() { state = Preferences.userRoot().node( PREFS_ROOT_PATH ); @@ -438,6 +474,9 @@ public class FlatThemeFileEditor exitMenuItem = new JMenuItem(); editMenu = new JMenu(); findMenuItem = new JMenuItem(); + viewMenu = new JMenu(); + lightLafMenuItem = new JRadioButtonMenuItem(); + darkLafMenuItem = new JRadioButtonMenuItem(); windowMenu = new JMenu(); nextEditorMenuItem = new JMenuItem(); previousEditorMenuItem = new JMenuItem(); @@ -512,6 +551,28 @@ public class FlatThemeFileEditor } menuBar.add(editMenu); + //======== viewMenu ======== + { + viewMenu.setText("View"); + viewMenu.setMnemonic('V'); + + //---- lightLafMenuItem ---- + lightLafMenuItem.setText("Light Laf"); + lightLafMenuItem.setMnemonic('L'); + lightLafMenuItem.setSelected(true); + lightLafMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0)); + lightLafMenuItem.addActionListener(e -> lightLaf()); + viewMenu.add(lightLafMenuItem); + + //---- darkLafMenuItem ---- + darkLafMenuItem.setText("Dark Laf"); + darkLafMenuItem.setMnemonic('D'); + darkLafMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F12, 0)); + darkLafMenuItem.addActionListener(e -> darkLaf()); + viewMenu.add(darkLafMenuItem); + } + menuBar.add(viewMenu); + //======== windowMenu ======== { windowMenu.setText("Window"); @@ -570,6 +631,11 @@ public class FlatThemeFileEditor tabbedPane.addChangeListener(e -> selectedTabChanged()); } contentPane.add(tabbedPane, BorderLayout.CENTER); + + //---- buttonGroup1 ---- + ButtonGroup buttonGroup1 = new ButtonGroup(); + buttonGroup1.add(lightLafMenuItem); + buttonGroup1.add(darkLafMenuItem); // JFormDesigner - End of component initialization //GEN-END:initComponents } @@ -581,6 +647,9 @@ public class FlatThemeFileEditor private JMenuItem exitMenuItem; private JMenu editMenu; private JMenuItem findMenuItem; + private JMenu viewMenu; + private JRadioButtonMenuItem lightLafMenuItem; + private JRadioButtonMenuItem darkLafMenuItem; private JMenu windowMenu; private JMenuItem nextEditorMenuItem; private JMenuItem previousEditorMenuItem; diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.jfd b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.jfd index b8d961e0..88d5d5f1 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.jfd +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeFileEditor.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.3.1.342" Java: "15" encoding: "UTF-8" +JFDML JFormDesigner: "7.0.4.0.360" Java: "16" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -95,6 +95,28 @@ new FormModel { addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "find", false ) ) } ) } ) + add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { + name: "viewMenu" + "text": "View" + "mnemonic": 86 + add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) { + name: "lightLafMenuItem" + "text": "Light Laf" + "$buttonGroup": new FormReference( "buttonGroup1" ) + "mnemonic": 76 + "selected": true + "accelerator": static javax.swing.KeyStroke getKeyStroke( 122, 0, false ) + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "lightLaf", false ) ) + } ) + add( new FormComponent( "javax.swing.JRadioButtonMenuItem" ) { + name: "darkLafMenuItem" + "text": "Dark Laf" + "$buttonGroup": new FormReference( "buttonGroup1" ) + "mnemonic": 68 + "accelerator": static javax.swing.KeyStroke getKeyStroke( 123, 0, false ) + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "darkLaf", false ) ) + } ) + } ) add( new FormContainer( "javax.swing.JMenu", new FormLayoutManager( class javax.swing.JMenu ) ) { name: "windowMenu" "text": "Window" @@ -119,5 +141,10 @@ new FormModel { "location": new java.awt.Point( 0, 0 ) "size": new java.awt.Dimension( 535, 300 ) } ) + add( new FormNonVisual( "javax.swing.ButtonGroup" ) { + name: "buttonGroup1" + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 0, 310 ) + } ) } } diff --git a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java index 9ad9ab87..6f540cdf 100644 --- a/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java +++ b/flatlaf-theme-editor/src/main/java/com/formdev/flatlaf/themeeditor/FlatThemeTokenMaker.java @@ -127,8 +127,10 @@ public class FlatThemeTokenMaker newTokenType = TOKEN_VARIABLE; else if( currentTokenType != TOKEN_STRING && (RSyntaxUtilities.isDigit( ch ) || (currentTokenType == TOKEN_NUMBER && ch == '.')) ) newTokenType = TOKEN_NUMBER; - else if( ch == ',' || ch == '(' || ch == ')' || ch == '"' || ch == '%' ) + else if( ch == ',' || ch == '"' || ch == '%' ) newTokenType = TokenTypes.OPERATOR; + else if( ch == '(' || ch == ')' ) + newTokenType = TokenTypes.SEPARATOR; // necessary for bracket matching else newTokenType = TOKEN_STRING; diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatDarkLaf.properties b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatDarkLaf.properties new file mode 100644 index 00000000..54c8ad16 --- /dev/null +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatDarkLaf.properties @@ -0,0 +1,65 @@ +# +# Copyright 2021 FormDev Software GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +#---- TabbedPane ---- + +TabbedPane.selectedBackground = darken($TabbedPane.background,5%) + + +#---- FlatThemeEditorPane ---- + +FlatThemeEditorPane.background = #2b2b2b +FlatThemeEditorPane.caretColor = @foreground +FlatThemeEditorPane.selectionBackground = #214283 +FlatThemeEditorPane.currentLineHighlight = #323232 +FlatThemeEditorPane.markOccurrencesColor = #52503A +FlatThemeEditorPane.markAllHighlightColor = #32593D +FlatThemeEditorPane.matchedBracketBackground = lighten(#3B514D,3%) +FlatThemeEditorPane.matchedBracketBorderColor = $FlatThemeEditorPane.matchedBracketBackground + + +#---- FlatThemeEditorPane.style ---- + +FlatThemeEditorPane.style.property = @foreground +FlatThemeEditorPane.style.variable = @foreground +# use semitransparent background because it is painted over mark occurrences background +FlatThemeEditorPane.style.variable.background = #00ff0018 +FlatThemeEditorPane.style.number = #6897BB +FlatThemeEditorPane.style.color = #6897BB +# use semitransparent background because it is painted over mark occurrences background +FlatThemeEditorPane.style.color.background = #ffffff10 +FlatThemeEditorPane.style.string = #6A8759 +FlatThemeEditorPane.style.function = #CC7832 +FlatThemeEditorPane.style.type = #8C8C8C +FlatThemeEditorPane.style.reservedWord = #CC7832 +FlatThemeEditorPane.style.literalBoolean = #CC7832 +FlatThemeEditorPane.style.operator = #888 +FlatThemeEditorPane.style.separator = #888 +FlatThemeEditorPane.style.whitespace = @foreground +FlatThemeEditorPane.style.comment = #808080 +FlatThemeEditorPane.style.comment.italic = true + + +#---- FlatThemeEditorPane.gutter ---- + +FlatThemeEditorPane.gutter.background = $FlatThemeEditorPane.background +FlatThemeEditorPane.gutter.borderColor = $Component.borderColor +FlatThemeEditorPane.gutter.lineNumberColor = @disabledText + + +#---- FlatThemeEditorPane.errorstrip ---- + +FlatThemeEditorPane.errorstrip.caretMarkerColor = $FlatThemeEditorPane.caretColor diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLightLaf.properties b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLightLaf.properties new file mode 100644 index 00000000..b7d385d1 --- /dev/null +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLightLaf.properties @@ -0,0 +1,65 @@ +# +# Copyright 2021 FormDev Software GmbH +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +#---- TabbedPane ---- + +TabbedPane.selectedBackground = lighten($TabbedPane.background,5%) + + +#---- FlatThemeEditorPane ---- + +FlatThemeEditorPane.background = #fff +FlatThemeEditorPane.caretColor = @foreground +FlatThemeEditorPane.selectionBackground = #A6D2FF +FlatThemeEditorPane.currentLineHighlight = #fcfaed +FlatThemeEditorPane.markOccurrencesColor = #FCE8F4 +FlatThemeEditorPane.markAllHighlightColor = #ffc800 +FlatThemeEditorPane.matchedBracketBackground = #93D9D9 +FlatThemeEditorPane.matchedBracketBorderColor = $FlatThemeEditorPane.matchedBracketBackground + + +#---- FlatThemeEditorPane.style ---- + +FlatThemeEditorPane.style.property = @foreground +FlatThemeEditorPane.style.variable = @foreground +# use semitransparent background because it is painted over mark occurrences background +FlatThemeEditorPane.style.variable.background = #00cc0018 +FlatThemeEditorPane.style.number = #1750EB +FlatThemeEditorPane.style.color = #1750EB +# use semitransparent background because it is painted over mark occurrences background +FlatThemeEditorPane.style.color.background = #0000000a +FlatThemeEditorPane.style.string = #067D17 +FlatThemeEditorPane.style.function = #871094 +FlatThemeEditorPane.style.type = #8C8C8C +FlatThemeEditorPane.style.reservedWord = #871094 +FlatThemeEditorPane.style.literalBoolean = #871094 +FlatThemeEditorPane.style.operator = #888 +FlatThemeEditorPane.style.separator = #888 +FlatThemeEditorPane.style.whitespace = @foreground +FlatThemeEditorPane.style.comment = #8C8C8C +FlatThemeEditorPane.style.comment.italic = true + + +#---- FlatThemeEditorPane.gutter ---- + +FlatThemeEditorPane.gutter.background = $FlatThemeEditorPane.background +FlatThemeEditorPane.gutter.borderColor = $Component.borderColor +FlatThemeEditorPane.gutter.lineNumberColor = @disabledText + + +#---- FlatThemeEditorPane.errorstrip ---- + +FlatThemeEditorPane.errorstrip.caretMarkerColor = $FlatThemeEditorPane.caretColor diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/light.xml b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/light.xml deleted file mode 100644 index 1c548fda..00000000 --- a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/light.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -