-
Bug
-
Resolution: Unresolved
-
P4
-
7u51, 8, 9
-
x86_64
-
windows_7
FULL PRODUCT VERSION :
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
Graphics.drawOval creates unusual shapes when given particularly large coordinates i.e. an x-value such as 150,000,000.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
On a JPanel, draw an oval with an x or y position of 150000000. Adjust the application so that the user can see the oval.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
An oval shape should be rendered on screen,
ACTUAL -
An egg shape is rendered on screen,
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package funky;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public final class OddOval {
private OddOval() {}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
final int ovalX = 150000000;
JPanel panel = new JPanel() {
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawOval(ovalX, 0, 30, 30);
}
};
panel.setPreferredSize(new Dimension(ovalX + 50, 2000));
panel.setBackground(Color.WHITE);
JScrollPane scroll = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.add(scroll);
frame.setPreferredSize(new Dimension(500, 500));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
scroll.getHorizontalScrollBar().setValue(scroll.getHorizontalScrollBar().getMaximum());
}
}
---------- END SOURCE ----------
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
Graphics.drawOval creates unusual shapes when given particularly large coordinates i.e. an x-value such as 150,000,000.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
On a JPanel, draw an oval with an x or y position of 150000000. Adjust the application so that the user can see the oval.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
An oval shape should be rendered on screen,
ACTUAL -
An egg shape is rendered on screen,
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package funky;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public final class OddOval {
private OddOval() {}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
final int ovalX = 150000000;
JPanel panel = new JPanel() {
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawOval(ovalX, 0, 30, 30);
}
};
panel.setPreferredSize(new Dimension(ovalX + 50, 2000));
panel.setBackground(Color.WHITE);
JScrollPane scroll = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
frame.add(scroll);
frame.setPreferredSize(new Dimension(500, 500));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
scroll.getHorizontalScrollBar().setValue(scroll.getHorizontalScrollBar().getMaximum());
}
}
---------- END SOURCE ----------
- duplicates
-
JDK-8148461 Unexpected result for drawOval
-
- Closed
-