Search in sources :

Example 1 with DividerStyle

use of com.github.weisj.darklaf.ui.splitpane.DividerStyle in project darklaf by weisJ.

the class SplitPaneDemo method createComponent.

@Override
public JComponent createComponent() {
    JSplitPane splitPane = new JSplitPane();
    JPanel leftPanel = new JPanel();
    leftPanel.setBackground(new ThemedColor("glowError"));
    leftPanel.setPreferredSize(new Dimension(200, 200));
    JPanel rightPanel = new JPanel();
    rightPanel.setBackground(new ThemedColor("glowFocus"));
    rightPanel.setPreferredSize(new Dimension(200, 200));
    splitPane.setLeftComponent(leftPanel);
    splitPane.setRightComponent(rightPanel);
    SwingUtilities.invokeLater(() -> splitPane.setDividerLocation(0.5));
    DemoPanel panel = new DemoPanel(splitPane, new BorderLayout(), 0);
    JPanel controlPanel = panel.addControls();
    controlPanel.add(new JCheckBox("ContinuousLayout") {

        {
            LafManager.addThemeChangeListener((ThemeInstalledListener) e -> setSelected(splitPane.isContinuousLayout()));
            setSelected(splitPane.isContinuousLayout());
            addActionListener(e -> splitPane.setContinuousLayout(isSelected()));
        }
    });
    controlPanel.add(new JCheckBox("OneTouchExpandable") {

        {
            setSelected(splitPane.isOneTouchExpandable());
            addActionListener(e -> splitPane.setOneTouchExpandable(isSelected()));
        }
    });
    controlPanel.add(new JCheckBox("enabled") {

        {
            setSelected(splitPane.isEnabled());
            addActionListener(e -> splitPane.setEnabled(isSelected()));
        }
    });
    controlPanel = panel.addControls();
    controlPanel.add(new JLabel("Orientation:", JLabel.RIGHT));
    controlPanel.add(new JComboBox<String>() {

        {
            Map<String, Integer> mapping = new HashMap<String, Integer>() {

                {
                    put("VERTICAL_SPLIT", JSplitPane.VERTICAL_SPLIT);
                    put("HORIZONTAL_SPLIT", JSplitPane.HORIZONTAL_SPLIT);
                }
            };
            addItem("VERTICAL_SPLIT");
            addItem("HORIZONTAL_SPLIT");
            setSelectedItem("HORIZONTAL_SPLIT");
            addItemListener(e -> splitPane.setOrientation(mapping.get(e.getItem().toString())));
        }
    }, "sgx");
    controlPanel.add(new JLabel(SplitPaneConstants.KEY_STYLE + ":", JLabel.RIGHT));
    controlPanel.add(new JComboBox<DividerStyle>() {

        {
            for (DividerStyle style : DividerStyle.values()) {
                addItem(style);
            }
            setSelectedItem(DividerStyle.get(UIManager.get("SplitPane.defaultDividerStyle")));
            addItemListener(e -> splitPane.putClientProperty(SplitPaneConstants.KEY_STYLE, e.getItem()));
        }
    }, "sgx");
    return panel;
}
Also used : java.awt(java.awt) DemoExecutor(com.github.weisj.darklaf.ui.demo.DemoExecutor) SplitPaneConstants(com.github.weisj.darklaf.ui.splitpane.SplitPaneConstants) ThemedColor(com.github.weisj.darklaf.graphics.ThemedColor) BaseComponentDemo(com.github.weisj.darklaf.ui.demo.BaseComponentDemo) Map(java.util.Map) LafManager(com.github.weisj.darklaf.LafManager) HashMap(java.util.HashMap) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) ThemeInstalledListener(com.github.weisj.darklaf.theme.event.ThemeInstalledListener) DividerStyle(com.github.weisj.darklaf.ui.splitpane.DividerStyle) javax.swing(javax.swing) ThemeInstalledListener(com.github.weisj.darklaf.theme.event.ThemeInstalledListener) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) ThemedColor(com.github.weisj.darklaf.graphics.ThemedColor) DividerStyle(com.github.weisj.darklaf.ui.splitpane.DividerStyle) Map(java.util.Map) HashMap(java.util.HashMap)

Aggregations

LafManager (com.github.weisj.darklaf.LafManager)1 ThemedColor (com.github.weisj.darklaf.graphics.ThemedColor)1 ThemeInstalledListener (com.github.weisj.darklaf.theme.event.ThemeInstalledListener)1 DemoPanel (com.github.weisj.darklaf.ui.DemoPanel)1 BaseComponentDemo (com.github.weisj.darklaf.ui.demo.BaseComponentDemo)1 DemoExecutor (com.github.weisj.darklaf.ui.demo.DemoExecutor)1 DividerStyle (com.github.weisj.darklaf.ui.splitpane.DividerStyle)1 SplitPaneConstants (com.github.weisj.darklaf.ui.splitpane.SplitPaneConstants)1 java.awt (java.awt)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 javax.swing (javax.swing)1