Domanda

Ho il codice seguente:

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

MemBershipFunctionComponent estende JComponent. Perché il metodo PaintComponent viene eseguito 2 volte?

È stato utile?

Soluzione

paintComponent può essere chiamato praticamente in qualsiasi momento dal framework swing. Esempi di quando ciò potrebbe accadere:

  • Ogni volta che un componente viene ridimensionato
  • Ogni volta che una parte del componente viene rivelata (ad esempio in una finestra scorrevole)
  • Ogni volta che il metodo Reverta () viene chiamato sul tuo componente (o possibilmente un genitore o un sottocomponente)
  • Ogni volta che c'è un cambiamento di layout

Niente di tutto ciò dovrebbe preoccuparti: dovresti semplicemente scrivere il tuo codice in modo che non importa quante volte viene chiamato PaintComponent.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top