1
1
/*
2
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
2
+ * Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
3
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
4
*
5
5
* This code is free software; you can redistribute it and/or modify it
21
21
* questions.
22
22
*/
23
23
24
- /* @test
24
+ /*
25
+ * @test
25
26
* @bug 6742358
26
- * @summary MetalSliderUI paint wrong vertical disabled filled JSlider for DefaultMetalTheme
27
- * @author Pavel Porvatov
28
- * @run applet/manual=done bug6742358.html
27
+ * @summary Verifies that painting a vertical disabled filled JSlider, the
28
+ * track will be painted correctly for DefaultMetalTheme.
29
+ * @library /java/awt/regtesthelpers
30
+ * @build PassFailJFrame
31
+ * @run main/manual bug6742358
29
32
*/
30
33
31
- import javax .swing .*;
34
+ import javax .swing .BoxLayout ;
35
+ import javax .swing .JFrame ;
36
+ import javax .swing .JPanel ;
37
+ import javax .swing .JSlider ;
38
+ import javax .swing .SwingConstants ;
32
39
import javax .swing .plaf .metal .DefaultMetalTheme ;
33
40
import javax .swing .plaf .metal .MetalLookAndFeel ;
34
41
35
- public class bug6742358 extends JApplet {
36
- public static void main (String [] args ) {
37
- MetalLookAndFeel .setCurrentTheme (new DefaultMetalTheme ());
38
-
39
- JFrame frame = new JFrame ();
40
-
41
- frame .setContentPane (new TestPanel ());
42
- frame .setDefaultCloseOperation (JFrame .DISPOSE_ON_CLOSE );
43
- frame .pack ();
44
- frame .setLocationRelativeTo (null );
42
+ public class bug6742358 {
43
+ private static final String INSTRUCTIONS = """
44
+ Check that all sliders look good.""" ;
45
45
46
- frame .setVisible (true );
47
- }
48
-
49
- public void init () {
46
+ public static void main (String [] args ) throws Exception {
50
47
MetalLookAndFeel .setCurrentTheme (new DefaultMetalTheme ());
48
+ PassFailJFrame .builder ()
49
+ .title ("JSlider Instructions" )
50
+ .instructions (INSTRUCTIONS )
51
+ .rows (5 )
52
+ .columns (40 )
53
+ .testUI (bug6742358 ::createAndShowUI )
54
+ .build ()
55
+ .awaitAndCheck ();
56
+ }
51
57
58
+ public static JFrame createAndShowUI () {
59
+ JFrame frame = new JFrame ("Test Sliders" );
52
60
TestPanel panel = new TestPanel ();
53
-
54
- setContentPane (panel );
61
+ frame .setSize (400 , 300 );
62
+ frame .getContentPane ().add (panel );
63
+ return frame ;
55
64
}
56
65
57
66
private static class TestPanel extends JPanel {
@@ -62,30 +71,35 @@ private TestPanel() {
62
71
pnVertical .setLayout (new BoxLayout (pnVertical , BoxLayout .Y_AXIS ));
63
72
64
73
for (int i = 0 ; i < 8 ; i ++) {
65
- pnVertical .add (createSlider (false , (i & 4 ) == 0 , (i & 2 ) == 0 , (i & 1 ) == 0 ));
74
+ pnVertical .add (createSlider (false , (i & 4 ) == 0 ,
75
+ (i & 2 ) == 0 , (i & 1 ) == 0 ));
66
76
}
67
77
68
78
JPanel pnHorizontal = new JPanel ();
69
79
70
80
pnHorizontal .setLayout (new BoxLayout (pnHorizontal , BoxLayout .X_AXIS ));
71
81
72
82
for (int i = 0 ; i < 8 ; i ++) {
73
- pnHorizontal .add (createSlider (true , (i & 4 ) == 0 , (i & 2 ) == 0 , (i & 1 ) == 0 ));
83
+ pnHorizontal .add (createSlider (true , (i & 4 ) == 0 ,
84
+ (i & 2 ) == 0 , (i & 1 ) == 0 ));
74
85
}
75
86
76
87
add (pnHorizontal );
77
88
add (pnVertical );
78
89
}
79
90
}
80
91
81
- private static JSlider createSlider (boolean vertical , boolean enabled , boolean filled , boolean inverted ) {
82
- JSlider result = new JSlider (vertical ? SwingConstants .VERTICAL : SwingConstants .HORIZONTAL , 0 , 10 , 5 );
92
+ private static JSlider createSlider (boolean vertical , boolean enabled ,
93
+ boolean filled , boolean inverted ) {
94
+ JSlider result = new JSlider (vertical ? SwingConstants .VERTICAL : SwingConstants .HORIZONTAL ,
95
+ 0 , 10 , 5 );
83
96
84
97
result .setEnabled (enabled );
85
98
result .putClientProperty ("JSlider.isFilled" , filled );
86
99
result .setInverted (inverted );
87
- result .setToolTipText ("<html>vertical = " + vertical + "<br>enabled = " + enabled + "<br>filled = " + filled +
88
- "<br>inverted = " + inverted + "</html>" );
100
+ result .setToolTipText ("<html>vertical = " + vertical + "<br>enabled = "
101
+ + enabled + "<br>filled = " + filled
102
+ + "<br>inverted = " + inverted + "</html>" );
89
103
90
104
return result ;
91
105
}
1 commit comments
openjdk-notifier[bot] commentedon Mar 19, 2024
Review
Issues