Problèmes dans la création d'interface graphique Layout managers

Fermé
ilyesanis Messages postés 6 Date d'inscription mercredi 13 janvier 2016 Statut Membre Dernière intervention 15 février 2016 - Modifié par KX le 14/02/2016 à 15:14
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 15 févr. 2016 à 17:41
Bonjour, je débute dans la programmation en java et je rencontre des problèmes dans la phase création d'interface graphique (la partie Layout managers). J’espère trouver des personnes qui pourront m'indiquer des solutions.
le programme ci-après a comme objectif la création d'une calculatrice simple capable d'ajouter deux nombres et d'afficher le résultat.
la classe CalculatriceSimple avec le code suivant:

import javax.swing.*;
import java.awt.FlowLayout;
public class CalculatriceSimple {
public static void main(String[] args) {

// Crée un panneau
JPanel contenuFenêtre = new JPanel();

// Affecte un gestionnaire de disposition à ce panneau
FlowLayout disposition = new FlowLayout();
contenuFenêtre.setLayout(disposition);


/*une petite croix rouge apparaît devant contenuFenêtre.setLayout(disposition);
en cliquant dessus les messages suivants s'affichent:
Plusieurs marqueurs sur cette ligne
- le type javax.swing.component ne peut pas être résolu.Il est référencé indirectement à partir de fichiers.class requis.
- la méthode setLayout(FlowLayout) est indéfinie pour le type JPanel*/


// Crée les contrôles en mémoire
JLabel label1 = new JLabel("Nombre 1 :");
JTextField entrée1 = new JTextField(10);
JLabel label2 = new JLabel("Nombre 2 :");
JTextField entrée2 = new JTextField(10);
JLabel label3 = new JLabel("Somme :");
JTextField résultat = new JTextField(10);
JButton lancer = new JButton("Ajouter");

// Ajoute les contrôles au panneau
contenuFenêtre.add(label1);
contenuFenêtre.add(entrée1);
contenuFenêtre.add(label2);
contenuFenêtre.add(entrée2);
contenuFenêtre.add(label3);
contenuFenêtre.add(résultat);
contenuFenêtre.add(lancer);

/*pour chacune des lignes contenuFenêtre.add une croix rouge s'affiche en cliquant dessus le message suivant s'affichent:
la méthode add(JLabel) est indéfinie pour le type JPanel.*/

// Crée le cadre et y ajoute le panneau
JFrame cadre = new JFrame("Ma première calculatrice");

cadre.setContentPane(contenuFenêtre);

/*pour la ligne cadre.setContentPane(contenuFenêtre); 
une croix rouge s'affiche en cliquant dessus le message suivant s'affichent:
la méthode setContentPane(Container) du type JFrame ne s'applique pas aux arguments(JPanel)*/

// Positionne les dimensions et rend la fenêtre visible
cadre.setSize(400,100);
cadre.setVisible(true);
}
}


A l’exécution de ce programme le message suivant s'affiche:
La méthode add(JTextField) est indéfinie pour le type JPanel
La méthode add(JButton) est indéfinie pour le type JPanel
La méthode setContentPane(Container) du type JFrame ne s'applique pas aux arguments (JPanel)

at CalculatriceSimple.main(CalculatriceSimple.java:9)
Exception in thread "main"

j'espère que j'aurai des solution à mon problème afin de me permettre de passer à l'étape suivante. Merci d'avance.
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
14 févr. 2016 à 15:27
Bonjour,

Il n'y a aucun problème avec ton code il se compile et s'exécute sans erreur.

Si ton IDE t'indique des erreurs c'est peut-être du à une mauvaise configuration de celui-ci, il n'a pas l'air de trouver les classes du JDK...
0
ilyesanis Messages postés 6 Date d'inscription mercredi 13 janvier 2016 Statut Membre Dernière intervention 15 février 2016
15 févr. 2016 à 08:52
bonjour,
merci d'avoir répondu, et ce que vous pouvez me proposer une solution à mon problème, j'ai trouvé dans des forums qu'il faut télécharger les fichiers org-jdesktop-layout.jar et swing-layout-1.0.jar sans indiquer dans quel répertoire il faut les ajouter.
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
15 févr. 2016 à 17:41
Je ne sais pas quel IDE tu utilises mais normalement le JDK suffit, pour ton code tu n'as pas besoin de dépendances supplémentaires. Tu devrais même pouvoir compiler et exécuter ce code directement en ligne de commande (sans IDE) et sans rien ajouter de plus...
0