下面列出了怎么用javax.swing.plaf.basic.BasicSliderUI的API类实例代码及写法,或者点击链接到github查看源代码。
public bug6401380() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
slider = new JSlider();
slider.setMajorTickSpacing(0);
slider.setMaximum(50);
slider.setMinorTickSpacing(10);
slider.setPaintLabels(true);
slider.setPaintTicks(true);
slider.setSnapToTicks(true);
// MetalSliderUI overrides scrollDueToClickInTrack() method
// so this test doens't work for Metal
slider.setUI(new BasicSliderUI(slider));
add(slider);
setSize(200, 200);
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static void fixWinSliderUI(JSlider s) {
if(System.getProperty("os.name").toLowerCase().contains("win")) {
s.setUI(new BasicSliderUI(s){
protected Dimension getThumbSize() {
Dimension old = super.getThumbSize();
return new Dimension(old.width*2, old.height);
}
});
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
private static Rectangle getThumbRectField() {
try {
SliderUI ui = slider.getUI();
Field field = BasicSliderUI.class.getDeclaredField("thumbRect");
field.setAccessible(true);
return (Rectangle) field.get(ui);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}
private void run() throws InterruptedException, InvocationTargetException {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
try {
UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
} catch (Exception e) {
fail(e.getMessage());
}
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
// Test 1
JSlider slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 2
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 3
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMajorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
// Test 4
slider = new JSlider(0, Integer.MAX_VALUE - 1, 0);
slider.setOrientation(JSlider.VERTICAL);
slider.setMinorTickSpacing((Integer.MAX_VALUE - 1) / 4);
slider.setPaintTicks(true);
((BasicSliderUI) slider.getUI()).paintTicks(image.getGraphics());
countDownLatch.countDown();
}
}
});
if (countDownLatch.await(3000, TimeUnit.MILLISECONDS)) {
System.out.println("bug6794831 passed");
} else {
fail("bug6794831 failed");
}
}
protected BasicSliderUI.TrackListener createTrackListener(final JSlider s) {
return new TrackListener();
}