Rien ne s'affiche sur ma fentre Java.
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Rien ne s'affiche sur ma fentre Java, voici le code :
le main:
le panel :
le frame :
Vous pourrez m'aidez svp.
le main:
package fentre; import javax.swing.JFrame; import javax.swing.SwingUtilities; public class main extends JFrame { private static final long serialVersionUID = 1L; public static void main(final String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run(){ new Frame("A"); } }); } }
le panel :
package fentre; import java.awt.Color; import java.awt.Graphics; import javax.swing.JPanel; public class panel extends JPanel{ /** * */ private static final long serialVersionUID = 1L; public void paintComponant (Graphics go) { go.setColor(Color.green); go.fillRect(16, 16, 25, 25); } }
le frame :
package fentre; import java.awt.Panel; import javax.swing.JFrame; public class Frame extends JFrame { /** * */ private static final long serialVersionUID = 1L; public Frame(String title) { setTitle(title); setVisible(true); setSize(1400 , 1000); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); add(new Panel()); } }
Vous pourrez m'aidez svp.
A voir également:
- Rien ne s'affiche sur ma fentre Java.
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Bonjour,
Il faut être extrêmement rigoureux dans l'usage des noms de classes et de méthodes, car sinon tu peux rapidement faire complètement autre chose que ce que tu penses.
Dans la classe panel la méthode doit s'appeler paintComponent, avec un e, sinon ce n'est pas une surcharge de la méthode existante, mais la création d'une nouvelle méthode que Swing n'utilisera jamais.
Dans la classe Frame, tu dois ajouter un new panel(), avec un p minuscule, sinon tu n'utilises pas la classe que tu as créé, mais celle de java.awt
Remarque : du coup tu peux enlever l'import de java.awt.Panel
Il faut être extrêmement rigoureux dans l'usage des noms de classes et de méthodes, car sinon tu peux rapidement faire complètement autre chose que ce que tu penses.
Dans la classe panel la méthode doit s'appeler paintComponent, avec un e, sinon ce n'est pas une surcharge de la méthode existante, mais la création d'une nouvelle méthode que Swing n'utilisera jamais.
Dans la classe Frame, tu dois ajouter un new panel(), avec un p minuscule, sinon tu n'utilises pas la classe que tu as créé, mais celle de java.awt
Remarque : du coup tu peux enlever l'import de java.awt.Panel
Utilisateur anonyme
Merci maintenant ça fonctionne bien.