Perché la paintcomponent viene eseguita 2 volte?
-
28-10-2019 - |
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?
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