diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderBorder.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderBorder.java index 7e554dce..30f7a06b 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderBorder.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableHeaderBorder.java @@ -139,6 +139,12 @@ public class FlatTableHeaderBorder } protected boolean hideTrailingVerticalLine( JTableHeader header ) { + if( header.getUI() instanceof FlatTableHeaderUI ) { + FlatTableHeaderUI ui = (FlatTableHeaderUI) header.getUI(); + if( ui.showTrailingVerticalLine ) + return false; + } + if( showTrailingVerticalLine ) return false; 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 663e2fca..d0b15bcf 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 @@ -86,6 +86,7 @@ public class FlatTableHeaderUI // for FlatTableHeaderBorder @Styleable protected Insets cellMargins; @Styleable protected Color separatorColor; + /** @since 2 */ @Styleable protected boolean showTrailingVerticalLine; // for FlatAscendingSortIcon and FlatDescendingSortIcon // (needs to be public because icon classes are in another package) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableUI.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableUI.java index 16ade184..c45507d0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableUI.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableUI.java @@ -98,7 +98,7 @@ public class FlatTableUI { protected boolean showHorizontalLines; protected boolean showVerticalLines; - /** @since 1.6 */ protected boolean showTrailingVerticalLine; + /** @since 1.6 */ @Styleable protected boolean showTrailingVerticalLine; protected Dimension intercellSpacing; @Styleable protected Color selectionBackground; diff --git a/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyleableInfo.java b/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyleableInfo.java index 55ec6d4d..24a0545a 100644 --- a/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyleableInfo.java +++ b/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyleableInfo.java @@ -708,6 +708,7 @@ public class TestFlatStyleableInfo FlatTableUI ui = (FlatTableUI) c.getUI(); Map> expected = expectedMap( + "showTrailingVerticalLine", boolean.class, "selectionBackground", Color.class, "selectionForeground", Color.class, "selectionInactiveBackground", Color.class, @@ -735,6 +736,7 @@ public class TestFlatStyleableInfo // FlatTableHeaderBorder "cellMargins", Insets.class, "separatorColor", Color.class, + "showTrailingVerticalLine", boolean.class, // FlatAscendingSortIcon and FlatDescendingSortIcon "arrowType", String.class, diff --git a/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyling.java b/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyling.java index 6b819dec..8f458c99 100644 --- a/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyling.java +++ b/flatlaf-core/src/test/java/com/formdev/flatlaf/ui/TestFlatStyling.java @@ -806,6 +806,7 @@ public class TestFlatStyling JTable c = new JTable(); FlatTableUI ui = (FlatTableUI) c.getUI(); + ui.applyStyle( "showTrailingVerticalLine: true" ); ui.applyStyle( "selectionBackground: #fff" ); ui.applyStyle( "selectionForeground: #fff" ); ui.applyStyle( "selectionInactiveBackground: #fff" ); @@ -841,6 +842,7 @@ public class TestFlatStyling // FlatTableHeaderBorder ui.applyStyle( "cellMargins: 1,2,3,4" ); ui.applyStyle( "separatorColor: #fff" ); + ui.applyStyle( "showTrailingVerticalLine: true" ); // FlatAscendingSortIcon and FlatDescendingSortIcon ui.applyStyle( "arrowType: chevron" );