diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsRemover.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsRemover.java index 0a1f3594..98ead94e 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsRemover.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsRemover.java @@ -72,6 +72,15 @@ class UIDefaultsRemover "RadioButton.select", "RadioButton.totalInsets", + "RootPane.colorChooserDialogBorder", + "RootPane.errorDialogBorder", + "RootPane.fileChooserDialogBorder", + "RootPane.frameBorder", + "RootPane.informationDialogBorder", + "RootPane.plainDialogBorder", + "RootPane.questionDialogBorder", + "RootPane.warningDialogBorder", + "ScrollBar.darkShadow", "ScrollBar.highlight", "ScrollBar.shadow", diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java new file mode 100644 index 00000000..1f473487 --- /dev/null +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatRootPaneUI.java @@ -0,0 +1,38 @@ +/* + * Copyright 2020 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.ui; + +import javax.swing.JComponent; +import javax.swing.plaf.ComponentUI; +import javax.swing.plaf.basic.BasicRootPaneUI; + +/** + * Provides the Flat LaF UI delegate for {@link javax.swing.JRootPane}. + * + * @author Karl Tauber + */ +public class FlatRootPaneUI + extends BasicRootPaneUI +{ + private static ComponentUI instance; + + public static ComponentUI createUI( JComponent c ) { + if( instance == null ) + instance = new FlatRootPaneUI(); + return instance; + } +} 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 8028d8cb..3bded8d4 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -39,6 +39,8 @@ PopupMenuSeparatorUI=com.formdev.flatlaf.ui.FlatPopupMenuSeparatorUI ProgressBarUI=com.formdev.flatlaf.ui.FlatProgressBarUI RadioButtonUI=com.formdev.flatlaf.ui.FlatRadioButtonUI RadioButtonMenuItemUI=com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI +[win]RootPaneUI=com.formdev.flatlaf.ui.FlatRootPaneUI +[linux]RootPaneUI=com.formdev.flatlaf.ui.FlatRootPaneUI ScrollBarUI=com.formdev.flatlaf.ui.FlatScrollBarUI ScrollPaneUI=com.formdev.flatlaf.ui.FlatScrollPaneUI SeparatorUI=com.formdev.flatlaf.ui.FlatSeparatorUI diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt index 4e9e60b6..526746f3 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatDarkLaf_1.8.0_202.txt @@ -1031,7 +1031,6 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] pressed CONTEXT_MENU postPopup shift pressed F10 postPopup -RootPane.colorChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press @@ -1041,14 +1040,7 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [5] press [6] ctrl released ENTER [7] release -RootPane.errorDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$ErrorDialogBorder [UI] -RootPane.fileChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] -RootPane.frameBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$FrameBorder [UI] -RootPane.informationDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$DialogBorder [UI] -RootPane.plainDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$DialogBorder [UI] -RootPane.questionDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] -RootPane.warningDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$WarningDialogBorder [UI] -RootPaneUI javax.swing.plaf.metal.MetalRootPaneUI +RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI #---- ScrollBar ---- diff --git a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt index 23b376e3..5a8acd75 100644 --- a/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt +++ b/flatlaf-testing/src/main/resources/com/formdev/flatlaf/testing/uidefaults/FlatLightLaf_1.8.0_202.txt @@ -1033,7 +1033,6 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] pressed CONTEXT_MENU postPopup shift pressed F10 postPopup -RootPane.colorChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press @@ -1043,14 +1042,7 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [5] press [6] ctrl released ENTER [7] release -RootPane.errorDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$ErrorDialogBorder [UI] -RootPane.fileChooserDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] -RootPane.frameBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$FrameBorder [UI] -RootPane.informationDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$DialogBorder [UI] -RootPane.plainDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$DialogBorder [UI] -RootPane.questionDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$QuestionDialogBorder [UI] -RootPane.warningDialogBorder [lazy] 5,5,5,5 false javax.swing.plaf.metal.MetalBorders$WarningDialogBorder [UI] -RootPaneUI javax.swing.plaf.metal.MetalRootPaneUI +RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI #---- ScrollBar ----