private static void test(JSlider slider) { MetalSliderUI ui = (MetalSliderUI) slider.getUI(); int actual = ui.getTickLength(); if (actual != 11) { throw new Error(actual + ", but expected 11"); } }
private MainPanel() { super(new BorderLayout(5, 5)); JSlider slider1 = new JSlider(0, 100, 0); slider1.setUI(new TriSliderUI()); slider1.setMajorTickSpacing(10); slider1.setMinorTickSpacing(5); slider1.setPaintTicks(true); slider1.setPaintLabels(true); JSlider slider2 = new JSlider(0, 100, 0); slider2.setUI(new MetalSliderUI() { @Override protected void paintHorizontalLabel(Graphics g, int v, Component l) { // [JDK-5099681] Windows/Motif L&F: JSlider should use foreground color for ticks. - Java Bug System // https://bugs.openjdk.java.net/browse/JDK-5099681 JLabel lbl = (JLabel) l; lbl.setForeground(Color.GREEN); super.paintHorizontalLabel(g, v, lbl); } }); // slider2.setBackground(Color.BLACK); slider2.setForeground(Color.BLUE); slider2.setMajorTickSpacing(10); slider2.setMinorTickSpacing(5); slider2.setPaintTicks(true); slider2.setPaintLabels(true); Box box = Box.createVerticalBox(); box.add(Box.createVerticalStrut(5)); box.add(makeTitledPanel("TriangleSliderUI", slider1)); box.add(Box.createVerticalStrut(5)); box.add(makeTitledPanel("HorizontalLabelColor", slider2)); box.add(Box.createVerticalGlue()); add(box); setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); setPreferredSize(new Dimension(320, 240)); }
private void setLogSliderUI() { if (this.getUI() instanceof MetalSliderUI) { this.setUI(new LogMetalSliderUI(this)); } else { this.setUI(new LogBasicSliderUI(this)); } }