You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexei Zakharov (JIRA)" <ji...@apache.org> on 2008/05/13 19:21:55 UTC
[jira] Closed: (HARMONY-5527) [classlib][awt] Canvas paint method
works incorrectly
[ https://issues.apache.org/jira/browse/HARMONY-5527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexei Zakharov closed HARMONY-5527.
------------------------------------
verified by Igor
> [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.