Slu
comment dessiner un rectangle et pouvoir le reutiliser comme objet pour pouvoir le deplacer ?
thx @+
[ Sujet déplacé depuis le forum java par Viena ]
:arrow: Les Règles du Forum
Version imprimable
Slu
comment dessiner un rectangle et pouvoir le reutiliser comme objet pour pouvoir le deplacer ?
thx @+
[ Sujet déplacé depuis le forum java par Viena ]
:arrow: Les Règles du Forum
Il faut importer le package AWT car il contient les classes Graphics et Point.
Un élément Graphic contient des méthodes pour faire des graphiques notamment la méthode drawPolygon :
g.drawPolygon ( int a, int b, int c, int d)
Il faut déterminer ce que tu veux dessiner dans la méthode paint (g). Il faut d'abord utiliser la méthode repaint(g) qui simplement appelle la méthode paint(g). La méthode repaint(g) met la méthode paitn(g) dans une queue d'évenements comme le graphisme est un processus lent comparé à d'autres évènements.
Paint(g) et repaint(g) sont hérité de la calsse JFrame, il faut overloader paint().
Voilà. Bonne chance
:arrow: Voir la FAQ.
Pour le déplacement ca dépend comment tu veux faire: a la souris voir MouseListener, au clavier voir KeyListener, tout seul voir Timer ou Thread.
j arrive a dessiner mais pour le deplacer je redessine l objet en blanc et ensuite je le dessine plus loin de la bonne couleur ... (tout cela rien mettre dans la fonction paint)
n y a t il rien de plus simple ?
Oui ya quelque chose de plus simple :
Il faut inclure "super.paint(g)" dans la méthode paint(g) :
public void paint ( graphics g) {
super.paint(g)
....
....
}
"super.paint(g)" execute la méthode paint de la classe JFrame qui efface ce qu'il y a dans la fenêtre. J'espère que tu connais "super" qui fait référence à la classe parente.
euh, JCompoment n'est pas une sous-classe de JFrame, c'est un composant léger alors que JFrame est un composant lourd
Oui, et pourquoi ne pas utiliser une sous-classe de JFrame ?
Composant léger, lourd ... ça veut dire quoi ?