use of com.github.weisj.darklaf.properties.icons.SolidColorIcon in project darklaf by weisJ.
the class PreferenceChangeDemo method createComponent.
@Override
public JComponent createComponent() {
LafManager.addThemePreferenceChangeListener(LafManager::installTheme);
DemoPanel panel = new DemoPanel(new JToggleButton("Start") {
{
addActionListener(e -> {
setText(isSelected() ? "Stop" : "Start");
LafManager.enabledPreferenceChangeReporting(isSelected());
});
}
});
Icon accentColorIcon = new SolidColorIcon() {
@Override
public Color getColor() {
return LafManager.getTheme().getAccentColorRule().getAccentColor();
}
};
Icon selectionColorIcon = new SolidColorIcon() {
@Override
public Color getColor() {
return LafManager.getTheme().getAccentColorRule().getSelectionColor();
}
};
JPanel controlPanel = panel.addControls();
controlPanel.add(new JLabel("Accent Color", accentColorIcon, JLabel.LEFT));
controlPanel.add(new JLabel("Selection Color", selectionColorIcon, JLabel.LEFT));
controlPanel = panel.addControls();
controlPanel.add(new JTextArea() {
{
setMargin(new Insets(5, 5, 5, 5));
setEditable(false);
setText("Press start/stop to enable/disable preference monitoring.\n" + "Then do one of the following\n" + " - switch between dark/light theme (Windows/macOS)\n" + " - toggle high contrast mode (Windows/macOS)\n" + " - change accent color (Windows/macOS)\n" + " - change selection color (macOS)\n" + " - change font scaling (Windows)\n" + "The theme should then adjust automatically (if monitoring is started).\n");
}
});
return panel;
}
use of com.github.weisj.darklaf.properties.icons.SolidColorIcon in project darklaf by weisJ.
the class ColorPaletteDemo method createComponent.
@Override
public JComponent createComponent() {
JComponent comp = Box.createVerticalBox();
comp.add(Box.createVerticalStrut(5));
{
JComponent p = Box.createVerticalBox();
p.setBorder(LayoutHelper.createEmptyContainerBorder());
List<Color> palette = Arrays.asList(ColorPalette.YELLOW, ColorPalette.ORANGE, ColorPalette.RED, ColorPalette.PINK, ColorPalette.PURPLE, ColorPalette.INDIGO, ColorPalette.BLUE, ColorPalette.TEAL, ColorPalette.CYAN, ColorPalette.GREEN, ColorPalette.LIME, ColorPalette.FOREST, ColorPalette.BROWN, ColorPalette.GRAY);
for (Color color : palette) {
p.add(Box.createVerticalStrut(5));
p.add(new JLabel(((DynamicColor) color).getKey(), new SolidColorIcon(color, 32, 32), JLabel.LEFT));
}
comp.add(p);
comp.add(Box.createVerticalStrut(5));
}
return comp;
}
Aggregations