user1166635
user1166635

Reputation: 2801

Why is paintComponent executed 2 times?

I have following code:

        canvas=new MembershipFunctionComponent(functions);
        canvas.setPreferredSize(new Dimension((int)this.getWidth(), (int)this.getHeight()));
        canvas.addMouseListener(canvas);
        pane.add(canvas);

MembsershipFunctionComponent extends JComponent. Why is paintComponent method executed 2 times?

Upvotes: 3

Views: 489

Answers (1)

mikera
mikera

Reputation: 106351

paintComponent can get called at pretty much any time by the Swing framework. Examples of when this might happen:

  • Any time a component is resized
  • Any time part of the component is revealed (for example in a scrollable window)
  • Any time the repaint() method is called on your component (or possibly a parent or sub-component)
  • Any time there is a layout change

None of this should worry you - you should just write your code so that it doesn't care how many times paintComponent is called.

Upvotes: 4

Related Questions