Bonsoir à tous. Je suis dans une sacré incompréhension, je vous l'avoue.
Déjà, ça fait 2 jours que je fais des recherches en tous genres. Et aucune n'a été concluante. Donc je me tourne vers vous.
Voyez-vous, j'ai une fenêtre très jolie comme celle ci :

Quand on clique sur Fichier, voici ce qu'il s'affiche :

Et normalement, quand on clique sur Nouveau, on appelle une méthode censée instancier une variable. Voici comment fonctionne le PanelAccueil.java : Si la variable n'est pas instanciée, on affiche le message de bienvenue. Si la variable est instanciée, on affiche "Y'a un projet en cours" à la place. Cependant, le JPanel ne semble jamais vouloir se repaint(), s'updateUI()... J'ai tout essayé de ce côté là. Je vous file le source nécéssaire au diagnostic :
Bien sûr, le tout se compile parfaitement, et aucune erreur n'apparaît. Je sèche vraiment, et je cherche vraiment à connaître la cause de cette erreur qui m'est déjà arrivée dans le passé.
Merci beaucoup d'avance, je m'en remets à vous.
Déjà, ça fait 2 jours que je fais des recherches en tous genres. Et aucune n'a été concluante. Donc je me tourne vers vous.
Voyez-vous, j'ai une fenêtre très jolie comme celle ci :
Quand on clique sur Fichier, voici ce qu'il s'affiche :
Et normalement, quand on clique sur Nouveau, on appelle une méthode censée instancier une variable. Voici comment fonctionne le PanelAccueil.java : Si la variable n'est pas instanciée, on affiche le message de bienvenue. Si la variable est instanciée, on affiche "Y'a un projet en cours" à la place. Cependant, le JPanel ne semble jamais vouloir se repaint(), s'updateUI()... J'ai tout essayé de ce côté là. Je vous file le source nécéssaire au diagnostic :
Code:
package editeurvn;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import jeu.*;
public class EditeurDestinies extends JFrame {
public static VN jeu;
private PanelAccueil pA;
public EditeurDestinies() {
setTitle("Editeur Destinies");
setLocation(50, 50);
setSize(700, 500);
setJMenuBar(new BarreMenu(this));
this.pA = new PanelAccueil();
add(this.pA);
pack();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setVisible(true);
}
public void newProject() {
EditeurDestinies.jeu = new VN();
this.pA.repaint();
pack();
}
public static void main(String[] args) {
EditeurDestinies ed = new EditeurDestinies();
}
}Code:
package editeurvn;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BarreMenu extends JMenuBar implements ActionListener {
private JMenuItem nouveau;
private JMenuItem charger;
private JMenuItem quitter;
private JMenuItem edEvenements;
private JMenuItem edMonstres;
private JMenuItem edObjets;
private EditeurDestinies edD;
public BarreMenu(EditeurDestinies edD) {
this.edD = edD;
JMenu menuFichier = new JMenu("Fichier");
JMenu menuEditeurs = new JMenu("Editeurs");
this.nouveau = new JMenuItem("Nouveau");
this.charger = new JMenuItem("Charger");
this.quitter = new JMenuItem("Quitter");
this.edEvenements = new JMenuItem("Editeur Evenements");
this.edMonstres = new JMenuItem("Editeur Monstres");
this.edObjets = new JMenuItem("Editeur Objets");
menuFichier.add(this.nouveau);
menuFichier.add(this.charger);
menuFichier.addSeparator();
menuFichier.add(this.quitter);
menuEditeurs.add(this.edEvenements);
menuEditeurs.add(this.edMonstres);
menuEditeurs.add(this.edObjets);
this.nouveau.addActionListener(this);
this.charger.addActionListener(this);
this.quitter.addActionListener(this);
this.edEvenements.addActionListener(this);
this.edMonstres.addActionListener(this);
this.edObjets.addActionListener(this);
this.add(menuFichier);
this.add(menuEditeurs);
}
public void actionPerformed(ActionEvent e) {
System.out.println(((JMenuItem)e.getSource()).getText());
if(e.getSource() == this.quitter)
System.exit(0);
if(e.getSource() == this.nouveau)
this.edD.newProject();
}
}Code:
package editeurvn;
import java.awt.event.*;
import javax.swing.*;
import jeu.*;
public class PanelAccueil extends JPanel {
private JLabel affichage;
public PanelAccueil() {
if(EditeurDestinies.jeu == null)
this.affichage = new JLabel("<html><center><font size=6 color=\"red\" >Bienvenue dans l'éditeur de Visual Novels !</font><br /><br />"
+ "Pour accéder aux contenus de ce logiciel, utilisez le menu du haut.<br/></center></html>");
else
this.affichage = new JLabel("Y'a un projet de créé");
add(this.affichage);
}
}Bien sûr, le tout se compile parfaitement, et aucune erreur n'apparaît. Je sèche vraiment, et je cherche vraiment à connaître la cause de cette erreur qui m'est déjà arrivée dans le passé.
Merci beaucoup d'avance, je m'en remets à vous.
Aucun commentaire:
Enregistrer un commentaire