mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 14:30:56 +03:00
FlatDisabledIconsTest: support palette icons
This commit is contained in:
@@ -16,16 +16,20 @@
|
|||||||
|
|
||||||
package com.formdev.flatlaf.testing;
|
package com.formdev.flatlaf.testing;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.image.FilteredImageSource;
|
import java.awt.image.FilteredImageSource;
|
||||||
import java.awt.image.ImageProducer;
|
import java.awt.image.ImageProducer;
|
||||||
import java.awt.image.RGBImageFilter;
|
import java.awt.image.RGBImageFilter;
|
||||||
import java.beans.*;
|
import java.beans.*;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import com.formdev.flatlaf.FlatLaf;
|
import com.formdev.flatlaf.FlatLaf;
|
||||||
|
import com.formdev.flatlaf.util.UIScale;
|
||||||
import net.miginfocom.swing.*;
|
import net.miginfocom.swing.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -92,6 +96,18 @@ public class FlatDisabledIconsTest
|
|||||||
intelliJDarkFilterController.defaultBrightness = -70;
|
intelliJDarkFilterController.defaultBrightness = -70;
|
||||||
intelliJDarkFilterController.defaultContrast = -70;
|
intelliJDarkFilterController.defaultContrast = -70;
|
||||||
intelliJDarkFilterController.reset();
|
intelliJDarkFilterController.reset();
|
||||||
|
|
||||||
|
toolBars = new JToolBar[] {
|
||||||
|
enabledToolBar,
|
||||||
|
currentLafToolBar,
|
||||||
|
basicLafToolBar,
|
||||||
|
metalLafToolBar,
|
||||||
|
plasticToolBar,
|
||||||
|
intellijTextToolBar,
|
||||||
|
intellijLightToolBar,
|
||||||
|
intellijDarkToolBar,
|
||||||
|
netbeansToolBar
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void selectedChanged() {
|
private void selectedChanged() {
|
||||||
@@ -106,6 +122,50 @@ public class FlatDisabledIconsTest
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private final JToolBar[] toolBars;
|
||||||
|
private Icon[] oldIcons;
|
||||||
|
private static final String[] COLOR_NAMES = {
|
||||||
|
"Actions.Red",
|
||||||
|
"Actions.Yellow",
|
||||||
|
"Actions.Green",
|
||||||
|
"Actions.Blue",
|
||||||
|
"Actions.Grey",
|
||||||
|
"Actions.GreyInline",
|
||||||
|
|
||||||
|
"Objects.Grey",
|
||||||
|
"Objects.Blue",
|
||||||
|
"Objects.Green",
|
||||||
|
"Objects.Yellow",
|
||||||
|
"Objects.YellowDark",
|
||||||
|
"Objects.Purple",
|
||||||
|
"Objects.Pink",
|
||||||
|
"Objects.Red",
|
||||||
|
"Objects.RedStatus",
|
||||||
|
"Objects.GreenAndroid",
|
||||||
|
"Objects.BlackText",
|
||||||
|
|
||||||
|
"", // black
|
||||||
|
};
|
||||||
|
|
||||||
|
private void paletteIconsChanged() {
|
||||||
|
if( paletteIconsCheckBox.isSelected() ) {
|
||||||
|
oldIcons = new Icon[COLOR_NAMES.length];
|
||||||
|
for( int i = 0; i < COLOR_NAMES.length; i++ )
|
||||||
|
oldIcons[i] = ((JToggleButton)enabledToolBar.getComponent( i )).getIcon();
|
||||||
|
|
||||||
|
for( int i = 0; i < COLOR_NAMES.length; i++ ) {
|
||||||
|
ColorIcon icon = new ColorIcon( UIManager.getColor( COLOR_NAMES[i] ) );
|
||||||
|
for( JToolBar toolBar : toolBars )
|
||||||
|
((JToggleButton)toolBar.getComponent( i )).setIcon( icon );
|
||||||
|
}
|
||||||
|
} else if( oldIcons != null ){
|
||||||
|
for( int i = 0; i < COLOR_NAMES.length; i++ ) {
|
||||||
|
for( JToolBar toolBar : toolBars )
|
||||||
|
((JToggleButton)toolBar.getComponent( i )).setIcon( oldIcons[i] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void basicLafChanged() {
|
private void basicLafChanged() {
|
||||||
boolean brighter = basicLafBrighterCheckBox.isSelected();
|
boolean brighter = basicLafBrighterCheckBox.isSelected();
|
||||||
int percent = basicLafPercentSlider.getValue();
|
int percent = basicLafPercentSlider.getValue();
|
||||||
@@ -216,6 +276,7 @@ public class FlatDisabledIconsTest
|
|||||||
zipToolBar = new JToolBar();
|
zipToolBar = new JToolBar();
|
||||||
zipButton = new JToggleButton();
|
zipButton = new JToggleButton();
|
||||||
selectedCheckBox = new JCheckBox();
|
selectedCheckBox = new JCheckBox();
|
||||||
|
paletteIconsCheckBox = new JCheckBox();
|
||||||
|
|
||||||
//======== this ========
|
//======== this ========
|
||||||
setLayout(new MigLayout(
|
setLayout(new MigLayout(
|
||||||
@@ -433,6 +494,11 @@ public class FlatDisabledIconsTest
|
|||||||
selectedCheckBox.setText("selected");
|
selectedCheckBox.setText("selected");
|
||||||
selectedCheckBox.addActionListener(e -> selectedChanged());
|
selectedCheckBox.addActionListener(e -> selectedChanged());
|
||||||
add(selectedCheckBox, "cell 0 10");
|
add(selectedCheckBox, "cell 0 10");
|
||||||
|
|
||||||
|
//---- paletteIconsCheckBox ----
|
||||||
|
paletteIconsCheckBox.setText("palette icons");
|
||||||
|
paletteIconsCheckBox.addActionListener(e -> paletteIconsChanged());
|
||||||
|
add(paletteIconsCheckBox, "cell 1 10,alignx left,growx 0");
|
||||||
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||||
|
|
||||||
button7.setIcon( new LightOrDarkIcon(
|
button7.setIcon( new LightOrDarkIcon(
|
||||||
@@ -497,6 +563,7 @@ public class FlatDisabledIconsTest
|
|||||||
private JToolBar zipToolBar;
|
private JToolBar zipToolBar;
|
||||||
private JToggleButton zipButton;
|
private JToggleButton zipButton;
|
||||||
private JCheckBox selectedCheckBox;
|
private JCheckBox selectedCheckBox;
|
||||||
|
private JCheckBox paletteIconsCheckBox;
|
||||||
// JFormDesigner - End of variables declaration //GEN-END:variables
|
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||||
|
|
||||||
//---- class LightOrDarkIcon ----------------------------------------------
|
//---- class LightOrDarkIcon ----------------------------------------------
|
||||||
@@ -542,6 +609,31 @@ public class FlatDisabledIconsTest
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---- class ColorIcon ----------------------------------------------------
|
||||||
|
|
||||||
|
private static class ColorIcon
|
||||||
|
extends ImageIcon
|
||||||
|
{
|
||||||
|
ColorIcon( Color color ) {
|
||||||
|
super( createColorImage( color ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Image createColorImage( Color color ) {
|
||||||
|
if( color == null )
|
||||||
|
color = Color.black;
|
||||||
|
|
||||||
|
BufferedImage image = new BufferedImage( UIScale.scale( 16 ), UIScale.scale( 16 ), BufferedImage.TYPE_INT_ARGB );
|
||||||
|
Graphics2D g = image.createGraphics();
|
||||||
|
try {
|
||||||
|
g.setColor( color );
|
||||||
|
g.fillRect( UIScale.scale( 1 ), UIScale.scale( 2 ), UIScale.scale( 14 ), UIScale.scale( 12 ) );
|
||||||
|
} finally {
|
||||||
|
g.dispose();
|
||||||
|
}
|
||||||
|
return image;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---- class IntelliJFilterController ------------------------------------
|
//---- class IntelliJFilterController ------------------------------------
|
||||||
|
|
||||||
private static class IntelliJFilterController
|
private static class IntelliJFilterController
|
||||||
@@ -646,6 +738,11 @@ public class FlatDisabledIconsTest
|
|||||||
|
|
||||||
setEnabled( false );
|
setEnabled( false );
|
||||||
setIcon( icon );
|
setIcon( icon );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setIcon( Icon defaultIcon ) {
|
||||||
|
super.setIcon( defaultIcon );
|
||||||
|
|
||||||
if( filter != null )
|
if( filter != null )
|
||||||
updateDisabledIcon();
|
updateDisabledIcon();
|
||||||
|
|||||||
@@ -368,6 +368,16 @@ new FormModel {
|
|||||||
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
"value": "cell 0 10"
|
"value": "cell 0 10"
|
||||||
} )
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JCheckBox" ) {
|
||||||
|
name: "paletteIconsCheckBox"
|
||||||
|
"text": "palette icons"
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "paletteIconsChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 10,alignx left,growx 0"
|
||||||
|
} )
|
||||||
}, new FormLayoutConstraints( null ) {
|
}, new FormLayoutConstraints( null ) {
|
||||||
"location": new java.awt.Point( 0, 0 )
|
"location": new java.awt.Point( 0, 0 )
|
||||||
"size": new java.awt.Dimension( 1095, 625 )
|
"size": new java.awt.Dimension( 1095, 625 )
|
||||||
|
|||||||
Reference in New Issue
Block a user