Sous Eclipse j'ai développé une applet qui contient notamment la méthode
init suivante :
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setLayout(new java.awt.BorderLayout());
this.setSize(450, 400);
this.add(getPanel2(), java.awt.BorderLayout.CENTER);
this.add(getPanel1(), java.awt.BorderLayout.NORTH);
this.add(getPanel(), java.awt.BorderLayout.SOUTH);
g=panel1.getGraphics();
System.out.println("Ici c'est le g de début = " + g);
}
A l'exécution sur l'écran console j'obtiens :
Ici c'est le g de début = null
Ici c'est le g de début =
sun.java2d.SunGraphics2D[font=java.awt.Font[family= ....etc
Une explication ? Est ce lié au temps d'affichage de l'applet car le panel2
contient 24 touches ?.
Si après le g = panel1.getGraphics j'appelle une méthode qui dessine dans
le panel1 j'ai un plantage avec le pointeur g = null (sur l'écran console la
2ème ligne n'apparaît pas), le dessin semble commencé avant que le g soit
renseigné.
Comment faire pour appeler cette méthode en ayant le g renseigné ?.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JScoobyCed
Bonjour,
Aujourd'hui jeudi, vous posez 6 fois le meme message, dans une intervalle de 45 minutes. Peut-etre avez-vous aussi un probleme de newsreader... Je ne suis pas moderateur du group, mais je pense que vous pourriez nous soulager en ne postant qu'une fois.
Pour ce qui est de votre question, je peux vous aiguiller. Dans la methode init() d'une Applet, je pense qu'il n'est pas conseille d'appeler la methode getGraphics(), qui ne return un objet Graphic valide qu'une fois l'affichage du composant termine (API doc: getGraphics(): This method will return null if this component is currently not displayable). Je dirais qu'il faut bouger votre g=panel1.getGraphics(); de la methode init() a la methode start() (et modifier le code pour acceder aux objets en l'occurence)
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Bonjour,
Aujourd'hui jeudi, vous posez 6 fois le meme message, dans une
intervalle de 45 minutes. Peut-etre avez-vous aussi un probleme de
newsreader... Je ne suis pas moderateur du group, mais je pense que vous
pourriez nous soulager en ne postant qu'une fois.
Pour ce qui est de votre question, je peux vous aiguiller.
Dans la methode init() d'une Applet, je pense qu'il n'est pas conseille
d'appeler la methode getGraphics(), qui ne return un objet Graphic
valide qu'une fois l'affichage du composant termine (API doc:
getGraphics(): This method will return null if this component is
currently not displayable).
Je dirais qu'il faut bouger votre
g=panel1.getGraphics();
de la methode init() a la methode start() (et modifier le code pour
acceder aux objets en l'occurence)
--
JScoobyCed
What about a JScooby snack Shaggy ? ... Shaggy ?!
Aujourd'hui jeudi, vous posez 6 fois le meme message, dans une intervalle de 45 minutes. Peut-etre avez-vous aussi un probleme de newsreader... Je ne suis pas moderateur du group, mais je pense que vous pourriez nous soulager en ne postant qu'une fois.
Pour ce qui est de votre question, je peux vous aiguiller. Dans la methode init() d'une Applet, je pense qu'il n'est pas conseille d'appeler la methode getGraphics(), qui ne return un objet Graphic valide qu'une fois l'affichage du composant termine (API doc: getGraphics(): This method will return null if this component is currently not displayable). Je dirais qu'il faut bouger votre g=panel1.getGraphics(); de la methode init() a la methode start() (et modifier le code pour acceder aux objets en l'occurence)
-- JScoobyCed What about a JScooby snack Shaggy ? ... Shaggy ?!
Black Myst
Cdif wrote:
Bonjour,
Sous Eclipse j'ai développé une applet qui contient notamment la méthode init suivante :
/** * This method initializes this * * @return void */ public void init() { this.setLayout(new java.awt.BorderLayout()); this.setSize(450, 400); this.add(getPanel2(), java.awt.BorderLayout.CENTER); this.add(getPanel1(), java.awt.BorderLayout.NORTH); this.add(getPanel(), java.awt.BorderLayout.SOUTH); g=panel1.getGraphics();
System.out.println("Ici c'est le g de début = " + g);
}
A l'exécution sur l'écran console j'obtiens : Ici c'est le g de début = null Ici c'est le g de début > sun.java2d.SunGraphics2D[font=java.awt.Font[family= ....etc
Une explication ? Est ce lié au temps d'affichage de l'applet car le panel2 contient 24 touches ?.
Si après le g = panel1.getGraphics j'appelle une méthode qui dessine dans le panel1 j'ai un plantage avec le pointeur g = null (sur l'écran console la 2ème ligne n'apparaît pas), le dessin semble commencé avant que le g soit renseigné.
Comment faire pour appeler cette méthode en ayant le g renseigné ?.
Initialise g dans la méthode paint(Graphics g) avec le g en parametre...
Si tu veux que ca marche, n'utilise pas la méthode getGraphics, et utilise le parametre g que dans la méthode paint()...
D'avance merci de rien
Cdif wrote:
Bonjour,
Sous Eclipse j'ai développé une applet qui contient notamment la méthode
init suivante :
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setLayout(new java.awt.BorderLayout());
this.setSize(450, 400);
this.add(getPanel2(), java.awt.BorderLayout.CENTER);
this.add(getPanel1(), java.awt.BorderLayout.NORTH);
this.add(getPanel(), java.awt.BorderLayout.SOUTH);
g=panel1.getGraphics();
System.out.println("Ici c'est le g de début = " + g);
}
A l'exécution sur l'écran console j'obtiens :
Ici c'est le g de début = null
Ici c'est le g de début > sun.java2d.SunGraphics2D[font=java.awt.Font[family= ....etc
Une explication ? Est ce lié au temps d'affichage de l'applet car le panel2
contient 24 touches ?.
Si après le g = panel1.getGraphics j'appelle une méthode qui dessine dans
le panel1 j'ai un plantage avec le pointeur g = null (sur l'écran console la
2ème ligne n'apparaît pas), le dessin semble commencé avant que le g soit
renseigné.
Comment faire pour appeler cette méthode en ayant le g renseigné ?.
Initialise g dans la méthode paint(Graphics g) avec le g en parametre...
Si tu veux que ca marche, n'utilise pas la méthode getGraphics, et
utilise le parametre g que dans la méthode paint()...
Sous Eclipse j'ai développé une applet qui contient notamment la méthode init suivante :
/** * This method initializes this * * @return void */ public void init() { this.setLayout(new java.awt.BorderLayout()); this.setSize(450, 400); this.add(getPanel2(), java.awt.BorderLayout.CENTER); this.add(getPanel1(), java.awt.BorderLayout.NORTH); this.add(getPanel(), java.awt.BorderLayout.SOUTH); g=panel1.getGraphics();
System.out.println("Ici c'est le g de début = " + g);
}
A l'exécution sur l'écran console j'obtiens : Ici c'est le g de début = null Ici c'est le g de début > sun.java2d.SunGraphics2D[font=java.awt.Font[family= ....etc
Une explication ? Est ce lié au temps d'affichage de l'applet car le panel2 contient 24 touches ?.
Si après le g = panel1.getGraphics j'appelle une méthode qui dessine dans le panel1 j'ai un plantage avec le pointeur g = null (sur l'écran console la 2ème ligne n'apparaît pas), le dessin semble commencé avant que le g soit renseigné.
Comment faire pour appeler cette méthode en ayant le g renseigné ?.
Initialise g dans la méthode paint(Graphics g) avec le g en parametre...
Si tu veux que ca marche, n'utilise pas la méthode getGraphics, et utilise le parametre g que dans la méthode paint()...