-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
1.2.1
-
None
-
x86
-
windows_nt
Name: gsC80088 Date: 01/20/99
// This program draws two ellipses by the SAME
// operators:
// g2D.draw( new Ellipse2D.Double( r, r, 3 * r, 3 * r ) );
// One of them in PINT mode, another in XOR.
// As the result you can see one ellipse and one
// RECTANGLE?!
//
// I guess something wrong with scale calculation
// in XOR mode.
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
class TestComponent extends JComponent
{
public void paint( Graphics g )
{
Graphics2D g2D = ( Graphics2D ) g;
double scale = 10000.;
float r = 0.007f;
g2D.setColor( Color.white );
g2D.fill( new Rectangle2D.Double( 0., 0., 500., 500. ) );
g2D.setColor( Color.red );
g2D.scale( scale, scale );
g2D.setStroke( new BasicStroke( ( float )( 1. / scale ) ) );
g2D.draw( new Ellipse2D.Double( r, r, 3 * r, 3 * r ) );
g2D.setXORMode( Color.green );
g2D.draw( new Ellipse2D.Double( r, r, 3 * r, 3 * r ) );
}
}
public class test
{
static public void main( String [] args )
{
JFrame frame = new JFrame();
frame.setContentPane( new TestComponent() );
frame.setSize( 500, 500 );
frame.show();
}
}
(Review ID: 52396)
// This program draws two ellipses by the SAME
// operators:
// g2D.draw( new Ellipse2D.Double( r, r, 3 * r, 3 * r ) );
// One of them in PINT mode, another in XOR.
// As the result you can see one ellipse and one
// RECTANGLE?!
//
// I guess something wrong with scale calculation
// in XOR mode.
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
class TestComponent extends JComponent
{
public void paint( Graphics g )
{
Graphics2D g2D = ( Graphics2D ) g;
double scale = 10000.;
float r = 0.007f;
g2D.setColor( Color.white );
g2D.fill( new Rectangle2D.Double( 0., 0., 500., 500. ) );
g2D.setColor( Color.red );
g2D.scale( scale, scale );
g2D.setStroke( new BasicStroke( ( float )( 1. / scale ) ) );
g2D.draw( new Ellipse2D.Double( r, r, 3 * r, 3 * r ) );
g2D.setXORMode( Color.green );
g2D.draw( new Ellipse2D.Double( r, r, 3 * r, 3 * r ) );
}
}
public class test
{
static public void main( String [] args )
{
JFrame frame = new JFrame();
frame.setContentPane( new TestComponent() );
frame.setSize( 500, 500 );
frame.show();
}
}
(Review ID: 52396)
- relates to
-
JDK-4204551 XOR mode for shapes broken in swing components but not AWT
-
- Resolved
-