Search in sources :

Example 6 with DemoPanel

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

the class TextComponentDemo method createComponent.

@Override
public JComponent createComponent() {
    T text = createTextComponent();
    String txt = text.getText();
    if (txt == null || txt.isEmpty()) {
        text.setText(StringUtil.repeat(StringUtil.repeat("Word ", 5) + "\n", 5));
    }
    DemoPanel panel = new DemoPanel(new JScrollPane(text), new BorderLayout(), 10);
    Border textBorder = new DarkTextBorder();
    Border border = text.getBorder();
    JPanel controlPanel = panel.addControls();
    controlPanel.add(new JCheckBox("enabled") {

        {
            setSelected(text.isEnabled());
            addActionListener(e -> text.setEnabled(isSelected()));
        }
    });
    controlPanel.add(new JCheckBox(PropertyKey.EDITABLE) {

        {
            setSelected(text.isEditable());
            addActionListener(e -> text.setEditable(isSelected()));
        }
    });
    controlPanel.add(new JCheckBox("LeftToRight") {

        {
            setSelected(text.getComponentOrientation().isLeftToRight());
            addActionListener(e -> text.setComponentOrientation(isSelected() ? ComponentOrientation.LEFT_TO_RIGHT : ComponentOrientation.RIGHT_TO_LEFT));
        }
    });
    controlPanel.add(new JCheckBox("text border") {

        {
            setSelected(text.getBorder() instanceof DarkTextBorder);
            addActionListener(e -> text.setBorder(isSelected() ? textBorder : border));
        }
    });
    controlPanel.add(new JCheckBox(DarkTextUI.KEY_ROUNDED_SELECTION) {

        {
            setSelected(PropertyUtil.getBooleanProperty(text, DarkTextUI.KEY_ROUNDED_SELECTION));
            addActionListener(e -> text.putClientProperty(DarkTextUI.KEY_ROUNDED_SELECTION, isSelected()));
        }
    });
    controlPanel.add(new JCheckBox(DarkTextUI.KEY_EXTEND_LINE_SELECTION) {

        {
            setSelected(PropertyUtil.getBooleanProperty(text, DarkTextUI.KEY_EXTEND_LINE_SELECTION));
            addActionListener(e -> text.putClientProperty(DarkTextUI.KEY_EXTEND_LINE_SELECTION, isSelected()));
        }
    });
    controlPanel.add(new JCheckBox(DarkTextUI.KEY_HAS_ERROR) {

        {
            setSelected(PropertyUtil.getBooleanProperty(text, DarkTextUI.KEY_HAS_ERROR));
            addActionListener(e -> text.putClientProperty(DarkTextUI.KEY_HAS_ERROR, isSelected()));
        }
    });
    controlPanel.add(new JCheckBox(DarkTextUI.KEY_HAS_WARNING) {

        {
            setSelected(PropertyUtil.getBooleanProperty(text, DarkTextUI.KEY_HAS_WARNING));
            addActionListener(e -> text.putClientProperty(DarkTextUI.KEY_HAS_WARNING, isSelected()));
        }
    });
    return panel;
}
Also used : java.awt(java.awt) BaseComponentDemo(com.github.weisj.darklaf.ui.demo.BaseComponentDemo) PropertyKey(com.github.weisj.darklaf.util.PropertyKey) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) PropertyUtil(com.github.weisj.darklaf.util.PropertyUtil) StringUtil(com.github.weisj.darklaf.util.StringUtil) JTextComponent(javax.swing.text.JTextComponent) javax.swing(javax.swing) Border(javax.swing.border.Border) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) Border(javax.swing.border.Border)

Example 7 with DemoPanel

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

the class ToolTipDemo method createComponent.

@Override
public JComponent createComponent() {
    JButton button = new JButton("Demo Button", DemoResources.FOLDER_ICON);
    DemoPanel panel = new DemoPanel(button);
    ToolTipContext context = new ToolTipContext(button).setAlignment(Alignment.CENTER).setCenterAlignment(Alignment.SOUTH);
    ToolTipContext.setDefaultContext(context);
    button.setToolTipText(StringUtil.toHtml("<p style=\"color:red;\">This is the ToolTip demo text!\n" + "<p style=\"color:blue;\">This is the ToolTip demo text!\n" + "<p style=\"color:green;\">This is the ToolTip demo text!\n"));
    button.putClientProperty(DarkToolTipUI.KEY_STYLE, DarkToolTipUI.VARIANT_BALLOON);
    button.putClientProperty(DarkToolTipUI.KEY_CONTEXT, context);
    JPanel controlPanel = panel.addControls(3);
    controlPanel.add(new JCheckBox("Align inside") {

        {
            setSelected(context.isAlignInside());
            addActionListener(e -> context.setAlignInside(isSelected()));
        }
    });
    controlPanel.add(new JCheckBox("Ignore Border") {

        {
            setSelected(context.isIgnoreBorder());
            addActionListener(e -> context.setIgnoreBorder(isSelected()));
        }
    });
    controlPanel.add(new JCheckBox("Use best fit") {

        {
            setSelected(context.isBestFit());
            addActionListener(e -> context.setUseBestFit(isSelected()));
        }
    });
    controlPanel = panel.addControls();
    controlPanel.add(new JLabel("Tooltip Style:", JLabel.RIGHT));
    controlPanel.add(new JComboBox<ToolTipStyle>(ToolTipStyle.values()) {

        {
            setSelectedItem(ToolTipStyle.BALLOON);
            addItemListener(e -> button.putClientProperty(DarkToolTipUI.KEY_STYLE, e.getItem()));
        }
    }, "sgx");
    controlPanel.add(new JLabel("Alignment:", JLabel.RIGHT));
    controlPanel.add(new JComboBox<Alignment>(Alignment.values()) {

        {
            setSelectedItem(context.getAlignment());
            addItemListener(e -> context.setAlignment((Alignment) e.getItem()));
        }
    }, "sgx");
    controlPanel.add(new JLabel("Center Alignment:", JLabel.RIGHT));
    controlPanel.add(new JComboBox<Alignment>(Alignment.values()) {

        {
            setSelectedItem(context.getCenterAlignment());
            addItemListener(e -> context.setCenterAlignment((Alignment) e.getItem()));
        }
    }, "sgx");
    controlPanel.add(new JLabel("Alignment Strategy:", JLabel.RIGHT));
    controlPanel.add(new JComboBox<AlignmentStrategy>(AlignmentStrategy.values()) {

        {
            setSelectedItem(context.getAlignmentStrategy());
            addItemListener(e -> context.setAlignmentStrategy((AlignmentStrategy) e.getItem()));
        }
    }, "sgx");
    return panel;
}
Also used : DemoExecutor(com.github.weisj.darklaf.ui.demo.DemoExecutor) BaseComponentDemo(com.github.weisj.darklaf.ui.demo.BaseComponentDemo) Alignment(com.github.weisj.darklaf.util.Alignment) AlignmentStrategy(com.github.weisj.darklaf.components.alignment.AlignmentStrategy) ToolTipContext(com.github.weisj.darklaf.components.tooltip.ToolTipContext) ToolTipStyle(com.github.weisj.darklaf.components.tooltip.ToolTipStyle) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) StringUtil(com.github.weisj.darklaf.util.StringUtil) DemoResources(com.github.weisj.darklaf.ui.DemoResources) javax.swing(javax.swing) DarkToolTipUI(com.github.weisj.darklaf.ui.tooltip.DarkToolTipUI) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) ToolTipStyle(com.github.weisj.darklaf.components.tooltip.ToolTipStyle) Alignment(com.github.weisj.darklaf.util.Alignment) ToolTipContext(com.github.weisj.darklaf.components.tooltip.ToolTipContext) AlignmentStrategy(com.github.weisj.darklaf.components.alignment.AlignmentStrategy)

Example 8 with DemoPanel

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

the class InternalFrameDemo method createComponent.

@Override
public JComponent createComponent() {
    desktop = new JDesktopPane();
    JPanel panel = new JPanel();
    panel.setBorder(new CompoundBorder(new EmptyBorder(20, 20, 20, 20), DarkBorders.createLineBorder(1, 1, 1, 1)));
    panel.setLayout(new BorderLayout());
    panel.add(desktop, BorderLayout.CENTER);
    createFrame();
    desktop.setDragMode(JDesktopPane.LIVE_DRAG_MODE);
    return new DemoPanel(desktop, new BorderLayout(), 10);
}
Also used : CompoundBorder(javax.swing.border.CompoundBorder) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel) EmptyBorder(javax.swing.border.EmptyBorder)

Example 9 with DemoPanel

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

the class LabelDemoBase method createComponent.

@Override
public JComponent createComponent() {
    T label = createLabel();
    DemoPanel panel = new DemoPanel(label);
    createControlPanel(panel, label);
    return panel;
}
Also used : DemoPanel(com.github.weisj.darklaf.ui.DemoPanel)

Example 10 with DemoPanel

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

the class ToggleButtonListDemo method createComponent.

@Override
public JComponent createComponent() {
    JToggleButtonList list = new JToggleButtonList();
    list.addToggleButton(new JCheckBox("CheckBox"));
    list.addToggleButton(new JRadioButton("RadioButton"));
    JToggleButton toggleButton = new JToggleButton("Slider ToggleButton");
    toggleButton.putClientProperty(ToggleButtonConstants.KEY_VARIANT, DarkToggleButtonUI.VARIANT_SLIDER);
    list.addToggleButton(toggleButton);
    for (int i = 0; i < 20; i++) {
        list.addToggleButton("Item " + i);
    }
    JPanel panel = new JPanel(new BorderLayout());
    panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
    panel.add(new OverlayScrollPane(list));
    return new DemoPanel(panel, new BorderLayout(), 0);
}
Also used : JToggleButtonList(com.github.weisj.darklaf.components.togglebuttonlist.JToggleButtonList) OverlayScrollPane(com.github.weisj.darklaf.components.OverlayScrollPane) DemoPanel(com.github.weisj.darklaf.ui.DemoPanel)

Aggregations

DemoPanel (com.github.weisj.darklaf.ui.DemoPanel)29 BaseComponentDemo (com.github.weisj.darklaf.ui.demo.BaseComponentDemo)19 javax.swing (javax.swing)19 java.awt (java.awt)18 DemoExecutor (com.github.weisj.darklaf.ui.demo.DemoExecutor)17 OverlayScrollPane (com.github.weisj.darklaf.components.OverlayScrollPane)7 PropertyKey (com.github.weisj.darklaf.util.PropertyKey)6 PropertyUtil (com.github.weisj.darklaf.util.PropertyUtil)5 Collections (java.util.Collections)5 List (java.util.List)5 StringUtil (com.github.weisj.darklaf.util.StringUtil)4 HashMap (java.util.HashMap)4 Map (java.util.Map)4 DarkToggleButtonUI (com.github.weisj.darklaf.ui.togglebutton.DarkToggleButtonUI)3 LafManager (com.github.weisj.darklaf.LafManager)2 ThemeInstalledListener (com.github.weisj.darklaf.theme.event.ThemeInstalledListener)2 DemoResources (com.github.weisj.darklaf.ui.DemoResources)2 Alignment (com.github.weisj.darklaf.util.Alignment)2 Pair (com.github.weisj.darklaf.util.Pair)2 ArrayList (java.util.ArrayList)2