use of com.github.weisj.darklaf.ui.DemoPanel in project darklaf by weisJ.
the class OverlayRSyntaxScrollPane method createComponent.
@Override
public JComponent createComponent() {
RSyntaxTextArea textArea = new RSyntaxTextArea(StringUtil.repeat(DemoResources.LOREM_IPSUM, 5));
RTextScrollPane sp = new RTextScrollPane(textArea);
OverlayScrollPane scrollPane = new OverlayScrollPane(sp);
Random r = new Random();
Color[] colors = new Color[] { ColorPalette.ORANGE, ColorPalette.RED, ColorPalette.GREEN };
int length = textArea.getDocument().getLength();
List<Pair<Position, Color>> markers = new ArrayList<>();
int count = 15;
for (int i = 0; i < count; i++) {
try {
Position position = textArea.getDocument().createPosition(i * length / count);
Color color = colors[r.nextInt(colors.length)];
markers.add(new Pair<>(position, color));
} catch (BadLocationException ignored) {
}
}
scrollPane.getVerticalScrollBar().putClientProperty(ScrollBarConstants.KEY_BACKGROUND_PAINTER, new MarkerBackgroundPainter(textArea, markers));
return new DemoPanel(scrollPane, new BorderLayout(), 0);
}
use of com.github.weisj.darklaf.ui.DemoPanel in project darklaf by weisJ.
the class OverlayScrollPaneDemo method createComponent.
@Override
public JComponent createComponent() {
JComponent component = new JComponent() {
private final Random r = new Random();
private final Color[][] colors = new Color[100][100];
{
for (int x = 0; x < 100; x++) {
for (int y = 0; y < 100; y++) {
colors[x][y] = new Color(r.nextInt());
}
}
}
@Override
protected void paintComponent(final Graphics g) {
super.paintComponent(g);
for (int x = 0; x < 100; x++) {
for (int y = 0; y < 100; y++) {
g.setColor(colors[x][y]);
g.fillRect(x * 10, y * 10, 10, 10);
}
}
}
@Override
public Dimension getPreferredSize() {
return new Dimension(1000, 1000);
}
};
OverlayScrollPane scrollPane = new OverlayScrollPane(component);
return new DemoPanel(scrollPane, new BorderLayout(), 0);
}
use of com.github.weisj.darklaf.ui.DemoPanel in project darklaf by weisJ.
the class SliderDemo method createComponent.
@Override
public JComponent createComponent() {
JSlider slider = new JSlider();
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
DemoPanel panel = new DemoPanel(slider);
JPanel controlPanel = panel.addControls();
controlPanel.add(new JLabel("Orientation:"));
controlPanel.add(new JComboBox<String>() {
{
setEditable(false);
addItem("Horizontal");
addItem("Vertical");
setSelectedItem("Horizontal");
addItemListener(e -> slider.setOrientation(e.getItem() == "Vertical" ? JSlider.VERTICAL : JSlider.HORIZONTAL));
}
});
controlPanel = panel.addControls();
controlPanel.add(new JCheckBox("enabled") {
{
setSelected(slider.isEnabled());
addActionListener(e -> slider.setEnabled(isSelected()));
}
});
controlPanel.add(new JCheckBox("LeftToRight") {
{
setSelected(slider.getComponentOrientation().isLeftToRight());
addActionListener(e -> slider.setComponentOrientation(isSelected() ? ComponentOrientation.LEFT_TO_RIGHT : ComponentOrientation.RIGHT_TO_LEFT));
}
});
controlPanel.add(new JCheckBox("inverted") {
{
setSelected(slider.getInverted());
addActionListener(e -> slider.setInverted(isSelected()));
}
});
controlPanel.add(new JCheckBox("snap to ticks") {
{
setSelected(slider.getSnapToTicks());
addActionListener(e -> slider.setSnapToTicks(isSelected()));
}
});
controlPanel.add(new JCheckBox("paint ticks") {
{
setSelected(slider.getPaintTicks());
addActionListener(e -> slider.setPaintTicks(isSelected()));
}
});
controlPanel.add(new JCheckBox("paint labels") {
{
setSelected(slider.getPaintLabels());
addActionListener(e -> slider.setPaintLabels(isSelected()));
}
});
controlPanel.add(new JCheckBox("paint track") {
{
setSelected(slider.getPaintTrack());
addActionListener(e -> slider.setPaintTrack(isSelected()));
}
});
controlPanel.add(new JCheckBox(DarkSliderUI.KEY_VARIANT + " = " + DarkSliderUI.VARIANT_VOLUME) {
{
addActionListener(e -> slider.putClientProperty(DarkSliderUI.KEY_VARIANT, isSelected() ? DarkSliderUI.VARIANT_VOLUME : null));
}
});
controlPanel.add(new JCheckBox(DarkSliderUI.KEY_INSTANT_SCROLL) {
{
addActionListener(e -> slider.putClientProperty(DarkSliderUI.KEY_INSTANT_SCROLL, isSelected()));
}
});
controlPanel.add(new JCheckBox(DarkSliderUI.KEY_SHOW_VOLUME_ICON) {
{
addActionListener(e -> slider.putClientProperty(DarkSliderUI.KEY_SHOW_VOLUME_ICON, isSelected()));
}
});
return panel;
}
use of com.github.weisj.darklaf.ui.DemoPanel in project darklaf by weisJ.
the class ListDemo method createComponent.
@Override
public JComponent createComponent() {
String[] week = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" };
JList<String> list = new JList<>(week);
list.setSelectedIndex(2);
DemoPanel panel = new DemoPanel(list, new BorderLayout(), 0);
JPanel controlPanel = panel.addControls();
controlPanel.add(new JCheckBox("enabled") {
{
setSelected(list.isEnabled());
addActionListener(e -> list.setEnabled(isSelected()));
}
});
controlPanel.add(new JCheckBox(DarkListUI.KEY_ALTERNATE_ROW_COLOR) {
{
setSelected(PropertyUtil.getBooleanProperty(list, DarkListUI.KEY_ALTERNATE_ROW_COLOR));
addActionListener(e -> list.putClientProperty(DarkListUI.KEY_ALTERNATE_ROW_COLOR, isSelected()));
}
}, "span");
controlPanel = panel.addControls();
controlPanel.add(new JLabel("Layout orientation:", JLabel.RIGHT));
controlPanel.add(new JComboBox<String>() {
{
Map<String, Integer> mapping = new HashMap<String, Integer>() {
{
put("VERTICAL", JList.VERTICAL);
put("VERTICAL_WRAP", JList.VERTICAL_WRAP);
put("HORIZONTAL_WRAP", JList.HORIZONTAL_WRAP);
}
};
addItem("VERTICAL");
addItem("VERTICAL_WRAP");
addItem("HORIZONTAL_WRAP");
setSelectedItem("VERTICAL");
// noinspection MagicConstant
addItemListener(e -> list.setLayoutOrientation(mapping.get(e.getItem().toString())));
}
}, "sgx");
controlPanel.add(new JLabel("Selection mode:", JLabel.RIGHT));
controlPanel.add(new JComboBox<String>() {
{
Map<String, Integer> mapping = new HashMap<String, Integer>() {
{
put("SINGLE_SELECTION", ListSelectionModel.SINGLE_SELECTION);
put("MULTIPLE_INTERVAL_SELECTION", ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
put("SINGLE_INTERVAL_SELECTION", ListSelectionModel.SINGLE_INTERVAL_SELECTION);
}
};
addItem("SINGLE_SELECTION");
addItem("MULTIPLE_INTERVAL_SELECTION");
addItem("SINGLE_INTERVAL_SELECTION");
setSelectedItem("SINGLE_SELECTION");
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// noinspection MagicConstant
addItemListener(e -> list.setSelectionMode(mapping.get(e.getItem().toString())));
}
}, "sgx");
return panel;
}
use of com.github.weisj.darklaf.ui.DemoPanel in project darklaf by weisJ.
the class ProgressBarDemo method createComponent.
@Override
public JComponent createComponent() {
JProgressBar progressBar = new JProgressBar();
progressBar.setString("Test ProgressBar");
progressBar.setMinimum(0);
progressBar.setMaximum(100);
progressBar.setValue(50);
DemoPanel panel = new DemoPanel(progressBar);
JPanel controlPanel = panel.addControls();
controlPanel.add(new JCheckBox("enabled") {
{
setSelected(progressBar.isEnabled());
addActionListener(e -> progressBar.setEnabled(isSelected()));
}
});
controlPanel.add(new JCheckBox("indeterminate") {
{
setSelected(progressBar.isIndeterminate());
addActionListener(e -> progressBar.setIndeterminate(isSelected()));
}
});
controlPanel.add(new JCheckBox("LeftToRight") {
{
setSelected(progressBar.getComponentOrientation().isLeftToRight());
addActionListener(e -> progressBar.setComponentOrientation(isSelected() ? ComponentOrientation.LEFT_TO_RIGHT : ComponentOrientation.RIGHT_TO_LEFT));
}
});
controlPanel.add(new JCheckBox("String painted") {
{
setSelected(progressBar.isStringPainted());
addActionListener(e -> progressBar.setStringPainted(isSelected()));
}
});
controlPanel.add(new JCheckBox("JProgressBar.failed") {
{
addActionListener(e -> progressBar.putClientProperty("JProgressBar.failed", isSelected()));
}
});
controlPanel.add(new JCheckBox("JProgressBar.passed") {
{
addActionListener(e -> progressBar.putClientProperty("JProgressBar.passed", 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("HORIZONTAL", JProgressBar.HORIZONTAL);
put("VERTICAL", JProgressBar.VERTICAL);
}
};
addItem("HORIZONTAL");
addItem("VERTICAL");
setSelectedItem("HORIZONTAL");
addItemListener(e -> progressBar.setOrientation(mapping.get(e.getItem().toString())));
}
}, "sgx");
controlPanel.add(new JLabel("Value:", JLabel.RIGHT));
controlPanel.add(new JPanel() {
{
// Wrap in JPanel. Otherwise, the slider appears too low.
add(new JSlider() {
{
setMinimum(progressBar.getMinimum());
setMaximum(progressBar.getMaximum());
setValue(progressBar.getValue());
addChangeListener(e -> progressBar.setValue(getValue()));
}
});
}
}, "sgx");
return panel;
}
Aggregations