JIDE: support TristateCheckBox

This commit is contained in:
Karl Tauber
2020-12-19 13:34:53 +01:00
parent d059d6b448
commit ef065d31a0
5 changed files with 77 additions and 3 deletions

View File

@@ -8,6 +8,7 @@ Following JIDE Common Layer components are currently supported by this addon:
- `JideTabbedPane`
- `RangeSlider`
- `TristateCheckBox`
**Note**: We have currently no plans to support additional components. If you're

View File

@@ -19,6 +19,7 @@ package com.formdev.flatlaf.jideoss;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import javax.swing.LookAndFeel;
import javax.swing.UIDefaults;
import com.formdev.flatlaf.FlatDefaultsAddon;
import com.formdev.flatlaf.FlatLaf;
@@ -46,6 +47,14 @@ public class FlatJideOssDefaultsAddon
return super.getDefaults( lafClass );
}
@Override
public void afterDefaultsLoading( LookAndFeel laf, UIDefaults defaults ) {
// TristateCheckBox
defaults.put( "TristateCheckBox.icon", null );
defaults.put( "TristateCheckBox.setMixed.clientProperty", new Object[] { "JButton.selectedState", "indeterminate" } );
defaults.put( "TristateCheckBox.clearMixed.clientProperty", new Object[] { "JButton.selectedState", null } );
}
@Override
public int getPriority() {
return 11;
@@ -71,6 +80,7 @@ public class FlatJideOssDefaultsAddon
Object key = e.getKey();
if( key instanceof String &&
(((String)key).startsWith( "Jide" ) ||
((String)key).startsWith( "TristateCheckBox." ) ||
key.equals( "RangeSliderUI" ) ||
key.equals( "Resizable.resizeBorder" )) )
{
@@ -85,6 +95,9 @@ public class FlatJideOssDefaultsAddon
defaults.putAll( jideDefaults );
jideDefaults = null;
}
// TristateCheckBox
defaults.put( "TristateCheckBox.icon", null );
}
}
}