harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chunrong Lai (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4799) [classlib][awt] GetRenderingHint returns Null by default
Date Wed, 26 Sep 2007 12:58:52 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530438
] 

Chunrong Lai commented on HARMONY-4799:
---------------------------------------


 Firstly I want to say that the patch does eliminate most of the exceptions.
 Secondly I want to say sometimes I can still see the exceptions.
  Thirdly I want to say I see following code in CommonGraphics2D.java and think the clear()
may remove the whole DEFAULT_RENDERING_HINTS in this.hints().

    protected RenderingHints hints = new RenderingHints(DEFAULT_RENDERING_HINTS);

    public void setRenderingHints(Map<?,?> hints) {
        this.hints.clear();
        this.hints.putAll(hints);
    }

 If I am wrong please correct me.

> [classlib][awt] GetRenderingHint returns Null by default
> --------------------------------------------------------
>
>                 Key: HARMONY-4799
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4799
>             Project: Harmony
>          Issue Type: Sub-task
>          Components: Classlib
>         Environment: Win32 + Linux32
>            Reporter: Chunrong Lai
>            Assignee: Alexey Petrenko
>         Attachments: HARMONY-4799-CommonGraphics2D.patch, HARMONY-4799-Graphics2DTest.patch
>
>
>  Below is the simple reproducer.  Such codes are common to do customized-redrawing of
components.
> import java.awt.*;
> import java.awt.event.*;
> import javax.swing.*;
> public class TestMenu extends JFrame { 
>  JMenuBar myMenu = new JMenuBar(); 
>  CubeMenu mFile = new CubeMenu(); 
>  JMenuItem miClose = new JMenuItem(); 
>  public TestMenu() { 
>   this.setJMenuBar(myMenu); 
>   mFile.setText("File"); 
>   myMenu.add(mFile); 
>   miClose.setText("Close"); 
>   mFile.add(miClose); 
>   miClose.addActionListener(new ActionListener() { 
>    public void actionPerformed(ActionEvent e) { 
>     dispose(); 
>     System.exit(0); 
>    } 
>   }); 
>   this.setTitle("JAVA"); 
>   this.setSize(new Dimension(400, 300)); 
>   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
>   this.show(); 
>  } 
>  public static void main(String[] args) { 
>   TestMenu testmenu = new TestMenu(); 
>  } 
> } 
> class CubeMenu extends JMenu { 
>  protected final void paintComponent(Graphics g) { 
>   Graphics2D graphics = (Graphics2D) g; 
>   Object oldHint = graphics.getRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING); 
>   if (oldHint == null) System.out.println("Will have IllegalArgumentException in later
setRenderingHint");
>   graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

>   super.paintComponent(graphics); 
>   graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, oldHint); 
>  } 
> } 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message