Results 1 to 4 of 4
  1. #1
    Y. Progammer is offline Member
    Join Date
    Feb 2010
    Posts
    68
    Rep Power
    0

    Question Unable to call paint() from inside method

    Java Code:
    import javax.swing.*;
    import java.awt.Graphics;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class JPanel01 extends JPanel {
    
        int xa = 0, ya = 0;
        JButton jButton = new JButton("call painComponent() from inside the method testD()");
    
        JPanel01() {
    
    
            jButton.addActionListener(
                    new ActionListener() {
    
                        public void actionPerformed(ActionEvent event) {
                            if (event.getSource() == jButton) {
                                System.out.println("button");
                                testD();
                            }
                        }
                    });
            add(jButton);
        }
    
        @Override
        public void paintComponent(Graphics g) {
            super.paintComponent(g);
            System.out.println("paint1");
            g.drawLine(xa, ya, xa + 150, ya + 150);
            System.out.println("paint2");
        }
    
        void testD() {
            for (xa = 100; xa <= 500; xa++) {
                ya = xa;
                System.out.println("testD1");
                repaint();
                System.out.println("testD2");
            }
        }
    
        public static void main(String args[]) {
            javax.swing.JFrame frame = new javax.swing.JFrame();
            frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
            JPanel01 h = new JPanel01();
            frame.add(h);
            frame.setSize(500, 500);
            frame.setVisible(true);
        }
    }
    plz explain.:confused:

  2. #2
    Fubarable's Avatar
    Fubarable is offline Moderator
    Join Date
    Jun 2008
    Posts
    19,316
    Blog Entries
    1
    Rep Power
    25

    Default

    explain what?

  3. #3
    Y. Progammer is offline Member
    Join Date
    Feb 2010
    Posts
    68
    Rep Power
    0

    Default

    explain what?
    the paintComponent() method is first called when the window appears for the very first rime... paint1 paint 2..

    but when I pressed button to call the paintComponent() from inside the method testD()..perhaps it never happened.??:eek:

    run:
    paint1
    paint2
    button
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    testD1
    testD2
    paint1
    paint2
    paint1
    paint2
    BUILD STOPPED (total time: 13 seconds)

    The output according to me should be ..
    testD1
    paint1
    paint2
    testD2

  4. #4
    Fubarable's Avatar
    Fubarable is offline Moderator
    Join Date
    Jun 2008
    Posts
    19,316
    Blog Entries
    1
    Rep Power
    25

    Default

    Calling repaint doesn't automatically call paint but rather places a request for paint to the Swing repaint manager. This may or may not honor the request depending on several things including whether or not it knows that the region being requested for a paint is "dirty". Perhaps here the repaint manager is smart enough to know that calling paint/paintComponent is not needed here.

    For more details, please look here: Painting in AWT and Swing

Similar Threads

  1. Java Paint Method?
    By leapinlizard in forum Java 2D
    Replies: 2
    Last Post: 02-11-2010, 07:01 PM
  2. how to call service method inside another service
    By kirtichopra2003 in forum Web Frameworks
    Replies: 1
    Last Post: 10-24-2009, 02:19 AM
  3. an error in paint method
    By hopey in forum Java 2D
    Replies: 7
    Last Post: 04-24-2009, 10:12 PM
  4. cannot call private method from static method
    By jon80 in forum New To Java
    Replies: 3
    Last Post: 05-07-2008, 08:37 AM
  5. How to call JSP inside Servlet
    By Swamipsn in forum Advanced Java
    Replies: 0
    Last Post: 07-31-2007, 12:50 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •