Search in sources :

Example 1 with SolidColorIcon

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;
}
Also used : java.awt(java.awt) DemoExecutor(com.github.weisj.darklaf.ui.demo.DemoExecutor) BaseComponentDemo(com.github.weisj.darklaf.ui.demo.BaseComponentDemo) SolidColorIcon(com.github.weisj.darklaf.properties.icons.SolidColorIcon) LafManager(com.github.weisj.darklaf.LafManager) WindowAdapter(java.awt.event.WindowAdapter) Theme(com.github.weisj.darklaf.theme.Theme) WindowEvent(java.awt.event.WindowEvent) javax.swing(javax.swing) SolidColorIcon(com.github.weisj.darklaf.properties.icons.SolidColorIcon) LafManager(com.github.weisj.darklaf.LafManager) SolidColorIcon(com.github.weisj.darklaf.properties.icons.SolidColorIcon)

Example 2 with SolidColorIcon

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;
}
Also used : SolidColorIcon(com.github.weisj.darklaf.properties.icons.SolidColorIcon) Color(java.awt.Color) DynamicColor(com.github.weisj.darklaf.properties.color.DynamicColor) JComponent(javax.swing.JComponent) JLabel(javax.swing.JLabel) List(java.util.List)

Aggregations

SolidColorIcon (com.github.weisj.darklaf.properties.icons.SolidColorIcon)2 LafManager (com.github.weisj.darklaf.LafManager)1 DynamicColor (com.github.weisj.darklaf.properties.color.DynamicColor)1 Theme (com.github.weisj.darklaf.theme.Theme)1 BaseComponentDemo (com.github.weisj.darklaf.ui.demo.BaseComponentDemo)1 DemoExecutor (com.github.weisj.darklaf.ui.demo.DemoExecutor)1 java.awt (java.awt)1 Color (java.awt.Color)1 WindowAdapter (java.awt.event.WindowAdapter)1 WindowEvent (java.awt.event.WindowEvent)1 List (java.util.List)1 javax.swing (javax.swing)1 JComponent (javax.swing.JComponent)1 JLabel (javax.swing.JLabel)1