Appel d'une méthode pour afficher du contenu au sein d'une fenêtre (Débutant)
Bonjour, je débute en programmation Java et je rencontre quelques problèmes avec le développement
J'ai déja posté ce sujet sur le forum SWT, mais il s'agissait d'une erreur
d'applicationgs graphiques et j'aurais besoin de votre aide, rapidement, si possible.
J'ai développé une classe MaFenetre qui met en place une fenêtre Windows avec un menu (Fichier,
Edition) et une classe Fonctionnalites qui propose différentes méthodes destinés à l'application
(formulaire de saisie....)
Les méthodes de cette classe Fonctionnalités marchent correctement (elles ont été testés non pas
en tant que méthode de Fonctionnalités, mais au sein du constructeur de ma fenêtre).
Mais lorsque celle-ci sont des méthodes de Fonctionnalités, elle ne fonctionnent pas. En effet, quand
on les appellent, elle ne marchent et leur contenu (formulaire de saisie avec des JButtons, Jlabel,
JTextField) n'apparaient pas à l'écran
Faudrait t'il passer quelque chose en paramètre lors de l'appel de l'une des méthodes ????
Est-ce un problème lié à l'affectation à la fenêtre mère, getcontentpane ??????
Je ne pense pas que c'est trop dur, mais bon !
Merci d'avance
Voici, le code de mes classes (c'est un peu long, excusez moi)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
import javax.swing.*;
import java.awt.*; // nécéssaire pour la classe Container
import java.awt.event.*; // nécessaire pour ActionListener, WindowListener
import java.lang.*;
public class MaFenetre extends JFrame implements ActionListener, WindowListener {
public static void main (String[] args)
{ JFrame FenetreAppli = new MaFenetre();
FenetreAppli.setVisible(true);
FenetreAppli.show(); }
// Déclaration d'une variable funct de type Fonctionnalites
Fonctionnalites funct;
// Constructeur de la fenêtre
public MaFenetre() {
// Déclaration item Menu
MenuItem mi;
// Caractéristiques de la fenêtre
setSize(350,200);
setLocation(300,300);
setTitle("Bibliothèque");
setResizable(false);
addWindowListener(this);
funct = new Fonctionnalites();
// Construction du menu
MenuBar mb=new MenuBar();
setMenuBar(mb);
//menu Fichier
Menu m1=new Menu("Fichier");
mb.add(m1);
// Item Quiter
mi=new MenuItem("Quitter");
mi.addActionListener(this);
m1.add(mi);
// menu Edition
Menu m2=new Menu("Edition");
mb.add(m2);
// Item Ajouter Livre
mi=new MenuItem("Ajouter Livres");
mi.addActionListener(this);
m2.add(mi);
//Item Lister Bibliotheque
mi=new MenuItem("Lister Bibliothèque");
mi.addActionListener(this);
m2.add(mi);
// gestion evenementielle de la fermeture de la fenêtre
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}
} ) ;
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Quitter"))
{System.exit(0);}
else if (e.getActionCommand().equals("Ajout Livres"))
{funct.Ajout();
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| import javax.swing.*;
import java.awt.*; // nécéssaire pour la classe Container
import java.awt.event.*; // nécessaire pour ActionListener
public class Fonctionnalites extends JFrame implements ActionListener, MouseListener {
Bibliotheque biblio = new Bibliotheque();
// Déclération du panel
JPanel panneauSaisie;
JPanel panneauLabel;
Container Fenetre1 = getContentPane(); // Fenetre1 : référence au contenu de la fenêtre1
// Déclaration des boutons de la fenêtre
public JButton AddButton;
// Déclaration des zones de saisie de la fenetre
public JTextField SaisieTitre;
public JTextField SaisieAuteur;
// Déclaration des etiquettes
private JLabel JLabelTitre;
private JLabel JLabelAuteur;
// Constructeur
public Fonctionnalites()
{addMouseListener(this);
setBackground(Color.white);}
// Méthode Ajout
public void Ajout()
{
// JTextField
SaisieTitre = new JTextField(10);
SaisieAuteur = new JTextField(10);
//JLabel
JLabelTitre = new JLabel("Titre : ", JLabel.CENTER);
JLabelAuteur = new JLabel("Auteur : ", JLabel.CENTER);
// Boutons
AddButton = new JButton("OK");
// Panels
panneauSaisie = new JPanel(new GridLayout(5,1,5,5));
panneauLabel = new JPanel(new GridLayout(5,1,5,5));
// Fenêtre et mise en forme Fenetre1
Fenetre1.setLayout(new BorderLayout(15,15)); // Choix d'un gestionnaire de mise en forme
Fenetre1.applyComponentOrientation( ComponentOrientation.LEFT_TO_RIGHT);
// Ajouts des différents composants aux Panels
panneauLabel.add(JLabelTitre);
panneauSaisie.add(SaisieTitre);
panneauLabel.add(JLabelAuteur);
panneauSaisie.add(SaisieAuteur);
//Fenetre1
Fenetre1.setVisible(true);
Fenetre1.add(panneauLabel, BorderLayout.WEST);
Fenetre1.add(panneauSaisie, BorderLayout.CENTER);
Fenetre1.add(AddButton, BorderLayout.SOUTH);
// Gestion Evenements
AddButton.addActionListener(this); // La fenêtre écoute AddButton;
} |