harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-5527) [classlib][awt] Canvas paint method works incorrectly
Date Thu, 21 Feb 2008 12:53:20 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571033#action_12571033
] 

Alexei Zakharov commented on HARMONY-5527:
------------------------------------------

Ok, I see. Well, I'm going to commit your patch after the code freeze is over. Is it ok with
you?

> [classlib][awt] Canvas paint method works incorrectly
> -----------------------------------------------------
>
>                 Key: HARMONY-5527
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5527
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Igor V. Stolyarov
>            Assignee: Alexei Zakharov
>         Attachments: H-5527.patch, Harmony.JPG, RI.JPG
>
>
> Canvas paint method works incorrectly. According to Specification "... default operation
is simply to clear the canvas", in Harmony implementation method paint does nothing.
> Simple reproducer:
> import java.awt.*;
> import java.awt.event.*;
> public class CanvasTest extends Frame implements ActionListener{
>     boolean clicked = false;
>     Canvas c;
>     Button b;
>     public CanvasTest(){
>         setLayout(new BorderLayout());
>         Panel p1 = new Panel();
>         p1.setPreferredSize(new Dimension(200, 200));
>         c = new TestCanvas();
>         p1.add(c);
>         Panel p2 = new Panel();
>         p2.setLayout(new BorderLayout());
>         p2.setPreferredSize(new Dimension(200, 50));
>         b = new Button("Click me");
>         b.setPreferredSize(new Dimension(70,30));
>         b.addActionListener(this);
>         p2.add(b, BorderLayout.CENTER);
>         add(c, BorderLayout.CENTER);
>         add(b, BorderLayout.SOUTH);
>         addWindowListener(new WindowAdapter(){
>             public void windowClosing(WindowEvent e){
>                 System.exit(0);
>             }
>         });
>     }
>     public void actionPerformed(ActionEvent e){
>         if(e.getSource() == b){
>              clicked = true;
>              c.repaint();
>         }
>     }
>     class TestCanvas extends Canvas{
>          public void paint(Graphics g){
>              g.setFont(g.getFont().deriveFont(Font.BOLD));
>              if(!clicked){
>                  g.drawString("Test started!", 50, 20);
>              } else {
>                  super.paint(g);
>                  g.drawString("Button clicked!", 50, 50);
>              }
>          }
>          public void update(Graphics g){
>              paint(g);
>          }
>     }
>     public static void main(String[] argv){
>         CanvasTest test = new CanvasTest();
>         test.setSize(200, 250);
>         test.setVisible(true);       
>     }
> }

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