-
Bug
-
Resolution: Cannot Reproduce
-
P3
-
8u91
-
x86
-
other
FULL PRODUCT VERSION :
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
ProductName: Mac OS X
ProductVersion: 10.12
BuildVersion: 16A201w
A DESCRIPTION OF THE PROBLEM :
In the initial developer beta build 16A201w of macOS 10.12 Sierra, dragging Java scroll bars doesn't work. This is reproducible in MATLAB and with the attached sample code using Java 6, 7 and 8.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Download the attached sample code and compile it by executing
% javac SwingScrollBarExample.java
2. Run the sample code by executing
% java SwingScrollBarExample
3. Attempt to click and drag the scrollbars to a new position
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The scrollbars can be dragged and the window updates to display the current scrollbar position.
ACTUAL -
Nothing happens. The scrollbars do not move.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/*
Java Swing, 2nd Edition
By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole
ISBN: 0-596-00408-7
Publisher: O'Reilly
*/
// SwingScrollBarExample.java
// A quick demonstration of JScrollBar (both vertical and horizontal).
//
import java.awt.BorderLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
public class SwingScrollBarExample extends JPanel {
JLabel label;
public SwingScrollBarExample() {
super(true);
label = new JLabel();
setLayout(new BorderLayout());
JScrollBar hbar = new JScrollBar(JScrollBar.HORIZONTAL, 30, 20, 0, 300);
JScrollBar vbar = new JScrollBar(JScrollBar.VERTICAL, 30, 40, 0, 300);
hbar.setUnitIncrement(2);
hbar.setBlockIncrement(1);
hbar.addAdjustmentListener(new MyAdjustmentListener());
vbar.addAdjustmentListener(new MyAdjustmentListener());
add(hbar, BorderLayout.SOUTH);
add(vbar, BorderLayout.EAST);
add(label, BorderLayout.CENTER);
}
class MyAdjustmentListener implements AdjustmentListener {
public void adjustmentValueChanged(AdjustmentEvent e) {
label.setText(" New Value is " + e.getValue() + " ");
repaint();
}
}
public static void main(String s[]) {
JFrame frame = new JFrame("Scroll Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new SwingScrollBarExample());
frame.setSize(200, 200);
frame.setVisible(true);
}
}
---------- END SOURCE ----------
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
ProductName: Mac OS X
ProductVersion: 10.12
BuildVersion: 16A201w
A DESCRIPTION OF THE PROBLEM :
In the initial developer beta build 16A201w of macOS 10.12 Sierra, dragging Java scroll bars doesn't work. This is reproducible in MATLAB and with the attached sample code using Java 6, 7 and 8.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Download the attached sample code and compile it by executing
% javac SwingScrollBarExample.java
2. Run the sample code by executing
% java SwingScrollBarExample
3. Attempt to click and drag the scrollbars to a new position
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The scrollbars can be dragged and the window updates to display the current scrollbar position.
ACTUAL -
Nothing happens. The scrollbars do not move.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/*
Java Swing, 2nd Edition
By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole
ISBN: 0-596-00408-7
Publisher: O'Reilly
*/
// SwingScrollBarExample.java
// A quick demonstration of JScrollBar (both vertical and horizontal).
//
import java.awt.BorderLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
public class SwingScrollBarExample extends JPanel {
JLabel label;
public SwingScrollBarExample() {
super(true);
label = new JLabel();
setLayout(new BorderLayout());
JScrollBar hbar = new JScrollBar(JScrollBar.HORIZONTAL, 30, 20, 0, 300);
JScrollBar vbar = new JScrollBar(JScrollBar.VERTICAL, 30, 40, 0, 300);
hbar.setUnitIncrement(2);
hbar.setBlockIncrement(1);
hbar.addAdjustmentListener(new MyAdjustmentListener());
vbar.addAdjustmentListener(new MyAdjustmentListener());
add(hbar, BorderLayout.SOUTH);
add(vbar, BorderLayout.EAST);
add(label, BorderLayout.CENTER);
}
class MyAdjustmentListener implements AdjustmentListener {
public void adjustmentValueChanged(AdjustmentEvent e) {
label.setText(" New Value is " + e.getValue() + " ");
repaint();
}
}
public static void main(String s[]) {
JFrame frame = new JFrame("Scroll Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new SwingScrollBarExample());
frame.setSize(200, 200);
frame.setVisible(true);
}
}
---------- END SOURCE ----------