IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Simple fenêtre sur java par le package awt !


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Etudiant Master 2 en Ingénierie de Données et Technologie Web
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant Master 2 en Ingénierie de Données et Technologie Web

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Par défaut Simple fenêtre sur java par le package awt !
    Bonjour,

    J'ai un exercice sur la programmation java, un exercice très simple et vu que je suis débutant en java je n'ai pas arrivé à faire l'exercice a 100% !!!
    alors S.V.P aidez-moi a le faire a 100% ne me donne pas la solution direct mais plutôt des astuces ou bien des explications. Voilà l'énoncé de l'exercice:


    Et voilà ma solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    import java.awt.*;
    public class Test {
     
    /**
    * @param args
    */
    public static void main(String[] args) {
    Frame f= new Frame();
    TextArea a= new TextArea();
    TextField b= new TextField();
    f.setTitle("Fenetre de marref billel et mentfakh tahar");
    f.setSize(300, 400);
    f.setResizable(false);
    f.setBackground(Color.red);
    f.setVisible(true);
    f.add(a);
    f.add(b);
     
    b.setSize(5, 5);
    //b.setBounds(0, 50, 196, 20);
    // j'ai fais les 2 cas et toujours rien
    b.setLocation(2, 2);
    b.setVisible(true);
     
     
     
    //b.setBounds(2, 2, 196, 20);
    a.setSize(1, 1);
    a.setLocation(50, 50);
    a.setVisible(true);
     
    }
    }
    et voilà le résultat :

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    retire ces setlocation, setbound, ce n'est pas a toi de les utiliser, et documente toi sur les layoutmanager, ce sont eux qui disposent les composant à l'écran. Dans le cas présent, la frame a part défaut un BorderLayout et tu n'a pas soulmis de contrainte à tes objets -> superposés.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Salut,

    le BorderLayout te permettra de supprimer ton setResizable(false), car il gérera la taille de tes composants quelque soit la taille de ta fenêtre.
    Tu as des informations ICI

    Le setBackground n'est pas utilie dans l'état actuel des choses, car ta Frame sera recouverte part tes composants.

    Je pense que tu inverses tes composants aussi. Le TextField correspond au composant du "Nord" et le TextArea celui du "Centre" ("Nord" et "Centre" en rapport avec ton BorderLayout).

    Bon courage !

  4. #4
    Membre averti
    Homme Profil pro
    Etudiant Master 2 en Ingénierie de Données et Technologie Web
    Inscrit en
    Avril 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Etudiant Master 2 en Ingénierie de Données et Technologie Web

    Informations forums :
    Inscription : Avril 2009
    Messages : 34
    Par défaut
    Merci pour votre aide c'était très utile !
    et voilà qu'est ce que j'ai arrivé à faire maintenant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import java.awt.*;
    public class Test {
     
     
    	public static void main(String[] args) {
    		 Frame f= new Frame();
    	        TextArea a= new TextArea();
    	        TextField b= new TextField();
    	        f.setTitle("Fenetre de marref billel et mentfakh tahar");
    	        f.setSize(300, 400);
    	        f.setResizable(false);
    	        f.setBackground(Color.red);
    	        f.setVisible(true);
    	        f.add(a, BorderLayout.CENTER);
    	        f.add(b, BorderLayout.NORTH);
     
    	        b.setVisible(true);
    	        a.setVisible(true);
     
    }
    }
    et voilà son exécution:


    Et maint je voudrais savoir qu'est ce que je doit faire dans les trois méthodes demandées dans l'énoncé a peut prêt !
    Merci

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Salut, ton code fonctionne, mais je te propose une autre écriture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import java.awt.*;
     
    public class Test {
    	public static void main(String[] args) {
    		 Frame f= new Frame();
    		 f.setTitle("Fenetre de marref billel et mentfakh tahar");
    		 f.setSize(300, 400);
    //		 f.setResizable(false);
    //		 f.setBackground(Color.red); 
     
    		 TextField a= new TextField();
    		 TextArea b= new TextArea();
     
    		 f.add(a, BorderLayout.NORTH);
    		 f.add(b, BorderLayout.CENTER);
     
    //		 a.setVisible(true);
    //		 b.setVisible(true);
     
    		 f.setVisible(true);
    	}
    }
    J'ai passé en commentaire 4 lignes qui ne servent à rien :
    - setResizable(false) : tu utilises un layout, pourquoi ne pas profiter du redimenssionnement ?
    - setBackground : ne change pas le visuel ici
    - setVisible(true) : par défaut un composant a déjà true comme valeur. La frame par contre a false par défaut.

    J'ai aussi changé l'ordre des lignes. Il n'y a pas d'ordre imposé, et ma solution n'est pas la seule possible, mais il est important de s'habituer à "ranger" son code.

    Pour la suite de ton exercice, il va falloir que tu utilises les évènements.
    1. tu tapes du texte dans le TextField
    2. tu appuies sur entrée (il faut donc que ton TextField soit "écouté")
    3. suite à l'appuie de la touche entrée, tu dois "ajouter" le texte du TextField à la suite de ton TextArea, et vider ton TextField (ou plutot, lui changer le texte existant par un texte vide).

Discussions similaires

  1. Petite question sur l'import les packages Java
    Par zpico dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 08/04/2012, 10h52
  2. Ouverture application java par double-clic sur fichier
    Par Lepolochon dans le forum Général Java
    Réponses: 2
    Dernier message: 27/09/2011, 10h53
  3. UNICODE sur java.awt.List ?
    Par pcouas dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 21/11/2008, 19h23
  4. Street Fighter 3 sur Java 2SE! c'est par là! :)
    Par broumbroum dans le forum Projets
    Réponses: 5
    Dernier message: 15/03/2007, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo