[JAVA]
Fermé
Julie35
Messages postés
2
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
27 mars 2007
-
27 mars 2007 à 20:47
Utilisateur anonyme - 30 mars 2007 à 10:04
Utilisateur anonyme - 30 mars 2007 à 10:04
A voir également:
- [JAVA]
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
1 réponse
Utilisateur anonyme
30 mars 2007 à 10:04
30 mars 2007 à 10:04
Salut!
Pour moi, ta classe Application ne sert à rien ici. Je l'ai donc supprimée.
De plus, je ne comprends pas pourquoi ta classe Trajet est un Thread. J'ai donc enlevé cela aussi.
J'ai transformé ta classe Trajet en JPanel que j'ai ajouté sur ta JFrame InterfaceGraphique.
J'ai enlevé toute les variables d'instance de type Graphics, car chaque composant graphique connaît un objet Graphics. Il suffit d'appeler la méthode getGraphics() pour le récupérer.
Ton bouton n'était jamais initialisé. C'est pour cela que tu recevais un NullPointerException. Je l'ai initialisé et je l'ai déplacé dans la classe Trajet.
Dans la classe trajet, dans le constructeur qui prend largeur et hauteur en arguments, j'ai ajouté ceci pour fixer la taille de ton JPanel.
J'ai modifié ta classe Main. C'est elle qui démarre maintenant ton application.
Tu trouveras le code adapté ci-dessous. A toi de faire le reste ;-)
Classe Main:
Classe Trajet
Classe InterfaceGraphique:
HackTrack
;-)
Pour moi, ta classe Application ne sert à rien ici. Je l'ai donc supprimée.
De plus, je ne comprends pas pourquoi ta classe Trajet est un Thread. J'ai donc enlevé cela aussi.
J'ai transformé ta classe Trajet en JPanel que j'ai ajouté sur ta JFrame InterfaceGraphique.
J'ai enlevé toute les variables d'instance de type Graphics, car chaque composant graphique connaît un objet Graphics. Il suffit d'appeler la méthode getGraphics() pour le récupérer.
Ton bouton n'était jamais initialisé. C'est pour cela que tu recevais un NullPointerException. Je l'ai initialisé et je l'ai déplacé dans la classe Trajet.
Dans la classe trajet, dans le constructeur qui prend largeur et hauteur en arguments, j'ai ajouté ceci pour fixer la taille de ton JPanel.
this.setPreferredSize(new Dimension(largeur, hauteur));
J'ai modifié ta classe Main. C'est elle qui démarre maintenant ton application.
Tu trouveras le code adapté ci-dessous. A toi de faire le reste ;-)
Classe Main:
package essai; public class Main { public static void main(String[] args) { InterfaceGraphique view = new InterfaceGraphique(); view.pack(); view.setVisible(true); } }
Classe Trajet
package essai; import java.awt.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; public class Trajet extends JPanel { private JButton jButtonDemarrerAcq; public Trajet() { super(); initObjects(); } public Trajet(int largeur, int hauteur) { this(); this.setPreferredSize(new Dimension(largeur, hauteur)); } private void initObjects() { jButtonDemarrerAcq = new JButton("Dessiner une ligne"); jButtonDemarrerAcq.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { drawLine(getGraphics()); } }); add(jButtonDemarrerAcq); } public void drawLine(Graphics g) { Graphics2D g2D = (Graphics2D) g; g2D.setPaint(Color.GREEN); g.drawLine(50, 50, 200, 100); } }
Classe InterfaceGraphique:
package essai; import javax.swing.JFrame; import javax.swing.JPanel; public class InterfaceGraphique extends JFrame { private int hauteur = 0; private int largeur = 0; private JPanel jPanelTrajet; public InterfaceGraphique() { super(); initComponents(); this.largeur = jPanelTrajet.getWidth(); this.hauteur = jPanelTrajet.getHeight(); } public int getLargeur() { return this.largeur; } public int getHauteur() { return this.hauteur; } private void initComponents() { jPanelTrajet = new Trajet(320,200); getContentPane().add(jPanelTrajet); } }
HackTrack
;-)