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 Tue, 18 Sep 2007 07:42:43 GMT

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

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


 I am also OK with the approach that askes every application to check the RenderingHint before
set back, while just keep Harmony as it is.
 But please note there are tons of legacy code doing actions of getRenderingHint-Drawing with
another RenderingHint-Set back the RenderingHint, at least for KEY_TEXT_ANTIALIASING. (So
you see RI pass this reproducer without problem)
 It is not strong enough to change the legacy applications based on our not-so-strong argument.


> [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
>
>  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