Duplicate :
|
|
Duplicate :
|
|
Relates :
|
============================================================================ Tested JDK : b50 Tested OS: Cinnabar, RD AS 3 Locale: zh_CN Video: NVIDIA GeForce4 Test host: i18n-gw700-9, i18n-gw700-8 ============================================================================ GlobalSuit test case font-render/2d/one/TextTransformRenderTest.java The transformed text string dosen't display completely, after moving around the text frame, it sometimes got displayed completely. Tested with earlier builds up to b33, there is a minor difference between builds prior b44 and builds after b45, but the major symptom is same for all the tested builds. This can only be reproduced on the above two platforms, not on Solaris. This symptom can not be seen using CharView or Font2DTest. To reproduce, get gs bundle gs15-06.tar.gz from /net/sqesvr-nfs/global/nfs/i18n/workspaces/i18n_tiger_ws/i18n/bundles/b06 after untar, go to i18n/src/GS sh run_gs.sh -jdk:[test jdk] font-render/2d/one/TextTransformRenderTest.java ###@###.### 2004-05-12 Here is a test case contributed by a developer that was added to the JDC comments for 5106732 (closed as a dup of this one) He noted it reproduced on Fedora Core 1. import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; public class Bug extends JPanel { public Bug() { setPreferredSize(new Dimension(800,500)); } public void paint(Graphics g) { super.paint(g); for (int i = 300; i < 360; i++){ Graphics2D g2d = (Graphics2D) g.create(); g2d.scale(4, 4); g2d.rotate(Math.toRadians(i), 30, 30); int c = (i*20)%255; g2d.setColor(new Color(c, c, 255)); g2d.drawString("XXXXXXXXXXXX", 30, 100); g2d.setColor(Color.red); g2d.drawLine(30,100, 120,100); g2d.dispose(); } } public static void main(String[] args){ JFrame frame = new JFrame(); final JPanel bug = new Bug(); frame.getContentPane().add(bug, BorderLayout.CENTER); JPanel buttons = new JPanel(); frame.getContentPane().add(buttons, BorderLayout.SOUTH); buttons.add(new JButton(new AbstractAction("Reset Bug"){ public void actionPerformed(ActionEvent evt){ bug.repaint(); } })); buttons.add(new JButton(new AbstractAction("Less Buggy"){ public void actionPerformed(ActionEvent evt){ bug.repaint(bug.getWidth()/2, 0, bug.getWidth()/2, bug.getHeight()); } })); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } }
|