8172500: Create test for SwingSet SliderDemo
Reviewed-by: serb, mrkam
This commit is contained in:
parent
d12dcc701f
commit
7f74b3f6bc
235
jdk/test/sanity/client/SwingSet/src/SliderDemoTest.java
Normal file
235
jdk/test/sanity/client/SwingSet/src/SliderDemoTest.java
Normal file
@ -0,0 +1,235 @@
|
||||
|
||||
/*
|
||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
import org.jtregext.GuiTestListener;
|
||||
import com.sun.swingset3.demos.slider.SliderDemo;
|
||||
import java.awt.Component;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static org.testng.AssertJUnit.*;
|
||||
import org.testng.annotations.Test;
|
||||
import org.netbeans.jemmy.ClassReference;
|
||||
import org.netbeans.jemmy.ComponentChooser;
|
||||
import org.netbeans.jemmy.operators.JFrameOperator;
|
||||
import org.netbeans.jemmy.operators.JSliderOperator;
|
||||
import org.netbeans.jemmy.accessibility.AccessibleNameChooser;
|
||||
import static com.sun.swingset3.demos.slider.SliderDemo.*;
|
||||
import org.testng.annotations.Listeners;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @key headful
|
||||
* @summary Verifies SwingSet3 SliderDemo by moving the sliders through
|
||||
* different means, checking the slider value corresponding to it,
|
||||
* checking maximum and minimum values, checking Snap to tick is working
|
||||
* and checking the presence of ticks and labels.
|
||||
*
|
||||
* @library /sanity/client/lib/jemmy/src
|
||||
* @library /sanity/client/lib/Extensions/src
|
||||
* @library /sanity/client/lib/SwingSet3/src
|
||||
* @modules java.desktop
|
||||
* java.logging
|
||||
* @build org.jemmy2ext.JemmyExt
|
||||
* @build com.sun.swingset3.demos.slider.SliderDemo
|
||||
* @run testng SliderDemoTest
|
||||
*/
|
||||
@Listeners(GuiTestListener.class)
|
||||
public class SliderDemoTest {
|
||||
|
||||
private static final int PLAIN_SLIDER_MINIMUM = -10;
|
||||
private static final int PLAIN_SLIDER_MAXIMUM = 100;
|
||||
private static final int HORIZONTAL_MINOR_TICKS_SLIDER_MINIMUM = 0;
|
||||
private static final int HORIZONTAL_MINOR_TICKS_SLIDER_MAXIMUM = 11;
|
||||
private static final int VERTICAL_MINOR_TICKS_SLIDER_MINIMUM = 0;
|
||||
private static final int VERTICAL_MINOR_TICKS_SLIDER_MAXIMUM = 100;
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
new ClassReference(SliderDemo.class.getCanonicalName()).startApplication();
|
||||
JFrameOperator frame = new JFrameOperator(DEMO_TITLE);
|
||||
plain(frame, HORIZONTAL_PLAIN_SLIDER);
|
||||
majorTicks(frame, HORIZONTAL_MAJOR_TICKS_SLIDER);
|
||||
minorTicks(frame, HORIZONTAL_MINOR_TICKS_SLIDER);
|
||||
disabled(frame, HORIZONTAL_DISABLED_SLIDER);
|
||||
plain(frame, VERTICAL_PLAIN_SLIDER);
|
||||
majorTicks(frame, VERTICAL_MAJOR_TICKS_SLIDER);
|
||||
minorTicks(frame, VERTICAL_MINOR_TICKS_SLIDER);
|
||||
disabled(frame, VERTICAL_DISABLED_SLIDER);
|
||||
}
|
||||
|
||||
private void plain(JFrameOperator jfo, String accessibleName) {
|
||||
JSliderOperator jso = new JSliderOperator(jfo,
|
||||
new AccessibleNameChooser(accessibleName));
|
||||
if (accessibleName.equals(HORIZONTAL_PLAIN_SLIDER)) {
|
||||
checkKeyboard(jso);
|
||||
checkMouse(jso);
|
||||
}
|
||||
checkMaximum(jso, PLAIN_SLIDER_MAXIMUM);
|
||||
checkMinimum(jso, PLAIN_SLIDER_MINIMUM);
|
||||
checkMoveForward(jso, 10);
|
||||
}
|
||||
|
||||
private void majorTicks(JFrameOperator jfo, String accessibleName) {
|
||||
JSliderOperator jso = new JSliderOperator(jfo,
|
||||
new AccessibleNameChooser(accessibleName));
|
||||
checkMoveForward(jso, 40);
|
||||
assertTrue(jso.getPaintTicks());
|
||||
assertEquals(100, jso.getMajorTickSpacing());
|
||||
}
|
||||
|
||||
private void minorTicks(JFrameOperator jfo, String accessibleName) {
|
||||
JSliderOperator jso = new JSliderOperator(jfo,
|
||||
new AccessibleNameChooser(accessibleName));
|
||||
if (accessibleName.equals(HORIZONTAL_MINOR_TICKS_SLIDER)) {
|
||||
checkMaximum(jso, HORIZONTAL_MINOR_TICKS_SLIDER_MAXIMUM);
|
||||
checkMinimum(jso, HORIZONTAL_MINOR_TICKS_SLIDER_MINIMUM);
|
||||
checkMoveForward(jso, 2);
|
||||
checkSnapToTick(jso, 5, 6);
|
||||
assertEquals(5, jso.getMajorTickSpacing());
|
||||
assertEquals(1, jso.getMinorTickSpacing());
|
||||
} else {
|
||||
checkMaximum(jso, VERTICAL_MINOR_TICKS_SLIDER_MAXIMUM);
|
||||
checkMinimum(jso, VERTICAL_MINOR_TICKS_SLIDER_MINIMUM);
|
||||
checkMoveForward(jso, 10);
|
||||
assertEquals(20, jso.getMajorTickSpacing());
|
||||
assertEquals(5, jso.getMinorTickSpacing());
|
||||
}
|
||||
assertTrue(jso.getPaintTicks());
|
||||
assertTrue(jso.getPaintLabels());
|
||||
}
|
||||
|
||||
private void disabled(JFrameOperator jfo, String accessibleName)
|
||||
throws InterruptedException {
|
||||
JSliderOperator jso = new JSliderOperator(jfo,
|
||||
new AccessibleNameChooser(accessibleName));
|
||||
int initialvalue;
|
||||
initialvalue = jso.getValue();
|
||||
jso.clickMouse(jso.getCenterXForClick(), jso.getCenterYForClick(), 10);
|
||||
Thread.sleep(500);
|
||||
assertFalse(jso.hasFocus());
|
||||
assertEquals(initialvalue, jso.getValue());
|
||||
}
|
||||
|
||||
private void checkMaximum(JSliderOperator jso, int maxValue) {
|
||||
jso.scrollToMaximum();
|
||||
waitSliderValue(jso, jSlider -> jSlider.getValue() == maxValue);
|
||||
}
|
||||
|
||||
private void checkMinimum(JSliderOperator jso, int minValue) {
|
||||
jso.scrollToMinimum();
|
||||
waitSliderValue(jso, jSlider -> jSlider.getValue() == minValue);
|
||||
}
|
||||
|
||||
private void checkKeyboard(JSliderOperator jso) {
|
||||
checkKeyPress(jso, KeyEvent.VK_HOME,
|
||||
jSlider -> jSlider.getValue() == jso.getMinimum());
|
||||
|
||||
{
|
||||
int expectedValue = jso.getValue() + 1;
|
||||
checkKeyPress(jso, KeyEvent.VK_UP,
|
||||
jSlider -> jSlider.getValue() >= expectedValue);
|
||||
}
|
||||
{
|
||||
int expectedValue = jso.getValue() + 1;
|
||||
checkKeyPress(jso, KeyEvent.VK_RIGHT,
|
||||
jSlider -> jSlider.getValue() >= expectedValue);
|
||||
}
|
||||
{
|
||||
int expectedValue = jso.getValue() + 11;
|
||||
checkKeyPress(jso, KeyEvent.VK_PAGE_UP,
|
||||
jSlider -> jSlider.getValue() >= expectedValue);
|
||||
}
|
||||
|
||||
checkKeyPress(jso, KeyEvent.VK_END,
|
||||
jSlider -> jSlider.getValue() == jso.getMaximum());
|
||||
|
||||
{
|
||||
int expectedValue = jso.getValue() - 1;
|
||||
checkKeyPress(jso, KeyEvent.VK_DOWN,
|
||||
jSlider -> jSlider.getValue() <= expectedValue);
|
||||
}
|
||||
{
|
||||
int expectedValue = jso.getValue() - 1;
|
||||
checkKeyPress(jso, KeyEvent.VK_LEFT,
|
||||
jSlider -> jSlider.getValue() <= expectedValue);
|
||||
}
|
||||
{
|
||||
int expectedValue = jso.getValue() - 11;
|
||||
checkKeyPress(jso, KeyEvent.VK_PAGE_DOWN,
|
||||
jSlider -> jSlider.getValue() <= expectedValue);
|
||||
}
|
||||
}
|
||||
|
||||
private void checkKeyPress(JSliderOperator jso, int keyCode,
|
||||
Predicate<JSliderOperator> predicate) {
|
||||
jso.pushKey(keyCode);
|
||||
waitSliderValue(jso, predicate);
|
||||
}
|
||||
|
||||
private void waitSliderValue(JSliderOperator jso,
|
||||
Predicate<JSliderOperator> predicate) {
|
||||
jso.waitState(new ComponentChooser() {
|
||||
public boolean checkComponent(Component comp) {
|
||||
return predicate.test(jso);
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return "Wait till Slider attains the specified state.";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void checkMoveForward(JSliderOperator jso, int value) {
|
||||
jso.setValue(jso.getMinimum());
|
||||
int finalValue = jso.getValue() + value;
|
||||
jso.scrollToValue(finalValue);
|
||||
waitSliderValue(jso, jSlider -> jSlider.getValue() == finalValue);
|
||||
}
|
||||
|
||||
private void checkSnapToTick(JSliderOperator jso, int expectedLower,
|
||||
int expectedHigher) {
|
||||
jso.pressMouse(jso.getCenterXForClick(), jso.getCenterYForClick());
|
||||
waitSliderValue(jso, jSlider -> jSlider.getValue() == expectedLower
|
||||
|| jSlider.getValue() == expectedHigher);
|
||||
jso.releaseMouse();
|
||||
}
|
||||
|
||||
private void checkMouse(JSliderOperator jso) {
|
||||
// Check mouse dragging by pressing on the center of Slider and then
|
||||
// dragging the mouse till the end of the track.
|
||||
// We set the initial value of the slider as 45,
|
||||
// which is the value of the slider at the middle.
|
||||
jso.setValue((jso.getMaximum() + jso.getMinimum()) / 2);
|
||||
jso.pressMouse(jso.getCenterXForClick(), jso.getCenterYForClick());
|
||||
jso.dragMouse(jso.getWidth() + 10, jso.getHeight());
|
||||
waitSliderValue(jso, jSlider -> jSlider.getValue() == jSlider.getMaximum());
|
||||
jso.releaseMouse();
|
||||
|
||||
// Check mouse click by clicking on the center of the track 2 times
|
||||
// and waiting till the slider value has changed from its previous
|
||||
// value as a result of the clicks.
|
||||
jso.clickMouse(jso.getCenterXForClick(), jso.getCenterYForClick(), 2);
|
||||
waitSliderValue(jso, jSlider -> jSlider.getValue() != jSlider.getMaximum());
|
||||
}
|
||||
}
|
@ -0,0 +1,280 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
package com.sun.swingset3.demos.slider;
|
||||
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.border.BevelBorder;
|
||||
import javax.swing.border.TitledBorder;
|
||||
import javax.swing.event.ChangeEvent;
|
||||
import javax.swing.event.ChangeListener;
|
||||
import com.sun.swingset3.DemoProperties;
|
||||
import com.sun.swingset3.demos.ResourceManager;
|
||||
import com.sun.swingset3.demos.textfield.TextFieldDemo;
|
||||
|
||||
/**
|
||||
* JSlider Demo
|
||||
*
|
||||
* @version 1.9 11/17/05
|
||||
* @author Dave Kloba
|
||||
* @author Jeff Dinkins
|
||||
*/
|
||||
@DemoProperties(
|
||||
value = "Slider Demo",
|
||||
category = "Controls",
|
||||
description = "Demonstrates the JSlider, a control which supports linear adjustment",
|
||||
sourceFiles = {
|
||||
"com/sun/swingset3/demos/slider/SliderDemo.java",
|
||||
"com/sun/swingset3/demos/ResourceManager.java",
|
||||
"com/sun/swingset3/demos/slider/resources/SliderDemo.properties",
|
||||
"com/sun/swingset3/demos/slider/resources/images/SliderDemo.gif"
|
||||
}
|
||||
)
|
||||
public class SliderDemo extends JPanel {
|
||||
|
||||
private static final Dimension HGAP5 = new Dimension(5, 1);
|
||||
private static final Dimension VGAP5 = new Dimension(1, 5);
|
||||
private static final Dimension HGAP10 = new Dimension(10, 1);
|
||||
private static final Dimension VGAP10 = new Dimension(1, 10);
|
||||
private static final Dimension HGAP20 = new Dimension(20, 1);
|
||||
private static final Dimension HGAP25 = new Dimension(25, 1);
|
||||
private final ResourceManager resourceManager = new ResourceManager(this.getClass());
|
||||
public static final String DEMO_TITLE = SliderDemo.class.getAnnotation(DemoProperties.class).value();
|
||||
public static final String HORIZONTAL_PLAIN_SLIDER = "Horizontal Plain Slider";
|
||||
public static final String HORIZONTAL_MAJOR_TICKS_SLIDER = "Horizontal Major Ticks Slider";
|
||||
public static final String HORIZONTAL_MINOR_TICKS_SLIDER = "Horizontal Minor Ticks Slider";
|
||||
public static final String HORIZONTAL_DISABLED_SLIDER = "Horizontal Disabled Slider";
|
||||
public static final String VERTICAL_PLAIN_SLIDER = "Vertical Plain Slider";
|
||||
public static final String VERTICAL_MAJOR_TICKS_SLIDER = "Vertical Major Ticks Slider";
|
||||
public static final String VERTICAL_MINOR_TICKS_SLIDER = "Vertical Minor Ticks Slider";
|
||||
public static final String VERTICAL_DISABLED_SLIDER = "Vertical Disabled Slider";
|
||||
|
||||
/**
|
||||
* main method allows us to run as a standalone demo.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
JFrame frame = new JFrame(SliderDemo.class.getAnnotation(DemoProperties.class).value());
|
||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
frame.getContentPane().add(new SliderDemo());
|
||||
frame.setPreferredSize(new Dimension(800, 600));
|
||||
frame.pack();
|
||||
frame.setLocationRelativeTo(null);
|
||||
frame.setVisible(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* SliderDemo Constructor
|
||||
*/
|
||||
public SliderDemo() {
|
||||
createSliderDemo();
|
||||
}
|
||||
|
||||
private void createSliderDemo() {
|
||||
JSlider s;
|
||||
JPanel hp;
|
||||
JPanel vp;
|
||||
GridLayout g;
|
||||
JPanel tp;
|
||||
JLabel tf;
|
||||
ChangeListener listener;
|
||||
|
||||
setLayout(new BorderLayout());
|
||||
tf = new JLabel(resourceManager.getString("SliderDemo.slidervalue"));
|
||||
add(tf, BorderLayout.SOUTH);
|
||||
tp = new JPanel();
|
||||
g = new GridLayout(1, 2);
|
||||
g.setHgap(5);
|
||||
g.setVgap(5);
|
||||
tp.setLayout(g);
|
||||
add(tp, BorderLayout.CENTER);
|
||||
listener = new SliderListener(tf);
|
||||
BevelBorder border = new BevelBorder(BevelBorder.LOWERED);
|
||||
hp = new JPanel();
|
||||
hp.setLayout(new BoxLayout(hp, BoxLayout.Y_AXIS));
|
||||
hp.setBorder(new TitledBorder(
|
||||
border,
|
||||
resourceManager.getString("SliderDemo.horizontal"),
|
||||
TitledBorder.LEFT,
|
||||
TitledBorder.ABOVE_TOP));
|
||||
tp.add(hp);
|
||||
vp = new JPanel();
|
||||
vp.setLayout(new BoxLayout(vp, BoxLayout.X_AXIS));
|
||||
vp.setBorder(new TitledBorder(
|
||||
border,
|
||||
resourceManager.getString("SliderDemo.vertical"),
|
||||
TitledBorder.LEFT,
|
||||
TitledBorder.ABOVE_TOP));
|
||||
tp.add(vp);
|
||||
|
||||
// Horizontal Slider 1
|
||||
JPanel p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.plain")));
|
||||
s = new JSlider(-10, 100, 20);
|
||||
s.getAccessibleContext().setAccessibleName(HORIZONTAL_PLAIN_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.a_plain_slider"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
hp.add(p);
|
||||
hp.add(Box.createRigidArea(VGAP10));
|
||||
|
||||
// Horizontal Slider 2
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.majorticks")));
|
||||
s = new JSlider(100, 1000, 400);
|
||||
s.setPaintTicks(true);
|
||||
s.setMajorTickSpacing(100);
|
||||
s.getAccessibleContext().setAccessibleName(HORIZONTAL_MAJOR_TICKS_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.majorticksdescription"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
hp.add(p);
|
||||
hp.add(Box.createRigidArea(VGAP10));
|
||||
|
||||
// Horizontal Slider 3
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.ticks")));
|
||||
s = new JSlider(0, 11, 6);
|
||||
s.putClientProperty("JSlider.isFilled", Boolean.TRUE);
|
||||
s.setPaintTicks(true);
|
||||
s.setMajorTickSpacing(5);
|
||||
s.setMinorTickSpacing(1);
|
||||
s.setPaintLabels(true);
|
||||
s.setSnapToTicks(true);
|
||||
s.getLabelTable().put(new Integer(11), new JLabel(Integer.toString(11), JLabel.CENTER));
|
||||
s.setLabelTable(s.getLabelTable());
|
||||
s.getAccessibleContext().setAccessibleName(HORIZONTAL_MINOR_TICKS_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.minorticksdescription"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
hp.add(p);
|
||||
hp.add(Box.createRigidArea(VGAP10));
|
||||
|
||||
// Horizontal Slider 4
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.disabled")));
|
||||
BoundedRangeModel brm = new DefaultBoundedRangeModel(80, 0, 0, 100);
|
||||
s = new JSlider(brm);
|
||||
s.setPaintTicks(true);
|
||||
s.setMajorTickSpacing(20);
|
||||
s.setMinorTickSpacing(5);
|
||||
s.setEnabled(false);
|
||||
s.getAccessibleContext().setAccessibleName(HORIZONTAL_DISABLED_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.disableddescription"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(VGAP5));
|
||||
hp.add(p);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// Vertical Slider 1
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.plain")));
|
||||
s = new JSlider(JSlider.VERTICAL, -10, 100, 20);
|
||||
s.getAccessibleContext().setAccessibleName(VERTICAL_PLAIN_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.a_plain_slider"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(HGAP10));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(HGAP10));
|
||||
vp.add(p);
|
||||
vp.add(Box.createRigidArea(HGAP10));
|
||||
|
||||
// Vertical Slider 2
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.majorticks")));
|
||||
s = new JSlider(JSlider.VERTICAL, 100, 1000, 400);
|
||||
s.putClientProperty("JSlider.isFilled", Boolean.TRUE);
|
||||
s.setPaintTicks(true);
|
||||
s.setMajorTickSpacing(100);
|
||||
s.getAccessibleContext().setAccessibleName(VERTICAL_MAJOR_TICKS_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.majorticksdescription"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(HGAP25));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(HGAP25));
|
||||
vp.add(p);
|
||||
vp.add(Box.createRigidArea(HGAP5));
|
||||
|
||||
// Vertical Slider 3
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.minorticks")));
|
||||
s = new JSlider(JSlider.VERTICAL, 0, 100, 60);
|
||||
s.setPaintTicks(true);
|
||||
s.setMajorTickSpacing(20);
|
||||
s.setMinorTickSpacing(5);
|
||||
s.setPaintLabels(true);
|
||||
s.getAccessibleContext().setAccessibleName(VERTICAL_MINOR_TICKS_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.minorticksdescription"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(HGAP10));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(HGAP10));
|
||||
vp.add(p);
|
||||
vp.add(Box.createRigidArea(HGAP5));
|
||||
|
||||
// Vertical Slider 4
|
||||
p = new JPanel();
|
||||
p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
|
||||
p.setBorder(new TitledBorder(resourceManager.getString("SliderDemo.disabled")));
|
||||
s = new JSlider(JSlider.VERTICAL, 0, 100, 80);
|
||||
s.setPaintTicks(true);
|
||||
s.setMajorTickSpacing(20);
|
||||
s.setMinorTickSpacing(5);
|
||||
s.setEnabled(false);
|
||||
s.getAccessibleContext().setAccessibleName(VERTICAL_DISABLED_SLIDER);
|
||||
s.getAccessibleContext().setAccessibleDescription(resourceManager.getString("SliderDemo.disableddescription"));
|
||||
s.addChangeListener(listener);
|
||||
p.add(Box.createRigidArea(HGAP20));
|
||||
p.add(s);
|
||||
p.add(Box.createRigidArea(HGAP20));
|
||||
vp.add(p);
|
||||
}
|
||||
|
||||
private class SliderListener implements ChangeListener {
|
||||
|
||||
private final JLabel tf;
|
||||
|
||||
public SliderListener(JLabel f) {
|
||||
tf = f;
|
||||
}
|
||||
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
JSlider s1 = (JSlider) e.getSource();
|
||||
tf.setText(resourceManager.getString("SliderDemo.slidervalue") + s1.getValue());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
### Slider Demo ###
|
||||
|
||||
SliderDemo.accessible_description=This demo shows an example of using the JSlider component.
|
||||
SliderDemo.tooltip=JSlider demo
|
||||
SliderDemo.name=Slider Demo
|
||||
|
||||
SliderDemo.slidervalue=Slider Value:
|
||||
SliderDemo.horizontal=Horizontal
|
||||
SliderDemo.vertical=Vertical
|
||||
SliderDemo.plain=Plain
|
||||
SliderDemo.a_plain_slider=A Plain Slider
|
||||
SliderDemo.majorticks=Major Ticks
|
||||
SliderDemo.majorticksdescription=A slider showing major tick marks
|
||||
SliderDemo.ticks=Minor Ticks, Snap-to-ticks and Labels
|
||||
SliderDemo.minorticks=Minor Ticks
|
||||
SliderDemo.minorticksdescription=A slider showing major and minor tick marks, with slider action snapping to tick marks, with some ticks visibly labeled
|
||||
SliderDemo.disabled=Disabled
|
||||
SliderDemo.disableddescription=A slider showing major and minor tick marks that is not enabled (cannot be manipulated
|
Loading…
Reference in New Issue
Block a user