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

AWT/Swing Java Discussion :

Fenetre et Bouton en java


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut Fenetre et Bouton en java
    Bonjour,
    Débutant,je suis en train de faire un petit programme en java.
    J'ai donc ma fenetre principale avec plusieurs boutons( bouton 1 bouton 2 et 3).
    J'aimerai savoir comment faire pour que lorsque je clique sur le bouton 1 par exemple, une petite fenetre s'ouvre avec du texte.
    Ma fenetre texte est elle aussi crée.Mon probleme est donc de programmer l'action du bouton vers la fenetre.
    Est t'il possible d'aller chercher du texte dans un fichier texte.txt??
    Si oui comment y proceder?
    Merci d'avance

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Il faut ajouter un listener sur le bouton via sa méthode "addActionListener".
    Ensuite, dans la méthode "actionPerformed" du listener, tu peux faire ce que tu veux, y compris afficher une fenêtre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    je te conseille de faire un tour là:
    http://baptiste-wicht.developpez.com...wing/debutant/

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    J'ai bien utilisé la méthode AddActionListener
    Par contre Lorsque je clique sur un bouton je n'arrive pas a ouvrir une nouvelle fenetre avec du texte ou autre.J'ai es erreurs qui apparaissent.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
     
    		if(source == bouton){
    			System.out.println("Vous avez selectionné le Bouton1");
    		} else if(source == bouton2){
    			System.out.println("Vous avez selectionné le bouton2");
    		} else if(source == bouton1){
    			System.out.println("Ici le bouton 3");}
    		else System.out.println("Et enfin le bouton 4");
    	}
    }
    En cliquant qur un bouton j'aimerai ouvrir une fenetre de ce type:

    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
    34
    35
    36
    37
    38
    39
    import java.awt.FlowLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class FenetreTexte extends JFrame{
    	public FenetreTexte(){
    		super();
     
    		build();//On initialise notre fenêtre
    	}
     
    	private void build(){
    		setTitle("Fenêtre qui affiche du texte"); //On donne un titre à l'application
    		setSize(320,240); //On donne une taille à notre fenêtre
    		setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		setResizable(true); //On permet le redimensionnement
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    		setContentPane(buildContentPane());
    	}
     
    	private JPanel buildContentPane(){
    		JPanel panel = new JPanel();
    		panel.setLayout(new FlowLayout());
     
    		JLabel label = new JLabel("Bienvenue ");
     
     
    		panel.add(label);
     
    		return panel;
    	}	
     
    	public static void main(String[] args) {
    		//On crée une nouvelle instance de notre FenetreTexte
    		FenetreTexte fenetre = new FenetreTexte();
    		fenetre.setVisible(true);//On la rend visible
    	}
    }
    MERCI

  5. #5
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    tu peux détailler un peu s'il te plait: quelle erreur tu as ? comment tu ouvre ta nouvelle fenêtre?
    Parce que là effectivement c'est évident que tu ne vas pas ouvrir une nouvelle fenêtre en appuyant sur le bouton...
    Est-ce que tes messages s'affiche dans la console quand tu appuie?
    Est-ce que tu as essayé d'afficher une Fenêtre FenetreTexte juste avec un main ? ça marche?
    Sinon tu peux peut être utiliser des JDialog si c'est juste pour afficher du texte.

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    Oui oui je sais.lol
    Les messages s'affichent bien dans la console pas de probleme a ce niveau.
    Pareil lorsque j'ouvre une fenetre avec un main ça marche bien.
    Mon probleme c'est quand j'ajoute la fenetre dans "actionperformed" a la place du system.out.println ça ne fonctionne pas.
    Je pense que je dois mal m'y prendre.
    Quelle méthode pensé vous la meilleur:
    + ActionListener
    + AbstractAction

  7. #7
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    ActionListener devrait marcher
    Tu peux nous montrer le code qui plante et le message d'erreur qui va avec?
    ça devrait marcher ça (même si je vois pas l'interêt d'ouvrir la même fenêtre 4 fois)
    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
     
     
    public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
     
    		if(source == bouton){
    			FenetreTexte ft=new FenetreTexte();
                          ft.setVisble(true);
    		} else if(source == bouton2){
    			FenetreTexte ft=new FenetreTexte();
                          ft.setVisble(true);
    		} else if(source == bouton1){
    			FenetreTexte ft=new FenetreTexte();
                          ft.setVisble(true);
    		else{ 			FenetreTexte ft=new FenetreTexte();
                          ft.setVisble(true);}
    	}
    tu as été voir du coté des JDialog ou tu veux faire autre chose que d'afficher du texte?

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    Non par la suite je veux faire autre chose que afficher du texte voici mon code:

    FenetreBoutonsListener:

    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
    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
    73
    74
    75
    76
    77
    78
    79
    import java.awt.FlowLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JButton;
     
    public class FenetreBoutonsListener extends JFrame implements ActionListener{
    	private JButton bouton;
    	private JButton bouton1;
    	private JButton bouton2;
    	private JButton bouton3;
     
    	public FenetreBoutonsListener(){
    		super();
     
    		build();//initialise la fenêtre
    	}
     
    	private void build(){
    		setTitle("System expert"); //On donne un titre à l'application
    		setSize(320,240); //On donne une taille à notre fenêtre
    		setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		setResizable(true); //On permet le redimensionnement
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
    		setContentPane(buildContentPane());
    	}
     
    	private JPanel buildContentPane(){
    		JPanel panel = new JPanel();
    		panel.setLayout(new FlowLayout());
     
    		bouton = new JButton("Chainage avant !");
    		bouton.addActionListener(this);
    		panel.add(bouton);
     
    		bouton2 = new JButton("Chainage arriére !");
    		bouton2.addActionListener(this);
    		panel.add(bouton2);
     
    		bouton1 = new JButton("Voir la base de rêgles !");
    		bouton1.addActionListener(this);
    		panel.add(bouton1);
     
    		bouton3 = new JButton("Voir la base de faits !");
    		bouton3.addActionListener(this);
    		panel.add(bouton3);
     
    		return panel;
    	}
     
    	public static void main(String[] args) {
    		//On crée une nouvelle instance de notre FenetreBoutons
    		FenetreBoutonsListener fenetre = new FenetreBoutonsListener();
    		fenetre.setVisible(true);//On la rend visible
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		Object source = e.getSource();
     
    		if(source == bouton){
    			FenetreTexte ft=new FenetreTexte();
                          ft.setVisible(true);
    		} else if(source == bouton2){
    			FenetreTexte ft=new FenetreTexte();
                          ft.setVisible(true);
    		} else if(source == bouton1){
    			FenetreTexte ft=new FenetreTexte();
                          ft.setVisible(true);
    		else{	FenetreTexte ft=new FenetreTexte();
                          ft.setVisible(true);}
    	}
    }
    }
    FenetreTexte:
    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
    34
    35
    36
    37
    38
    39
    import java.awt.FlowLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class FenetreTexte extends JFrame{
    	public FenetreTexte(){
    		super();
     
    		build();//On initialise notre fenêtre
    	}
     
    	private void build(){
    		setTitle("Fenêtre qui affiche du texte"); //On donne un titre à l'application
    		setSize(320,240); //On donne une taille à notre fenêtre
    		setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		setResizable(true); //On permet le redimensionnement
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
    		setContentPane(buildContentPane());
    	}
     
    	private JPanel buildContentPane(){
    		JPanel panel = new JPanel();
    		panel.setLayout(new FlowLayout());
     
    		JLabel label = new JLabel("Bienvenue Voici la liste des rêgles:\n");
     
     
    		panel.add(label);
     
    		return panel;
    	}	
     
    	public static void main(String[] args) {
    		//On crée une nouvelle instance de notre FenetreTexte
    		FenetreTexte fenetre = new FenetreTexte();
    		fenetre.setVisible(true);//On la rend visible
    	}
    }
    et enfin le mesage d'erreur:

    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
    Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems: 
    	Syntax error on token "else", delete this token
    	Duplicate local variable ft
     
    	at FenetreBoutonsListener.actionPerformed(FenetreBoutonsListener.java:75)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    	at java.awt.Component.processMouseEvent(Unknown Source)
    	at javax.swing.JComponent.processMouseEvent(Unknown Source)
    	at java.awt.Component.processEvent(Unknown Source)
    	at java.awt.Container.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    	at java.awt.Container.dispatchEventImpl(Unknown Source)
    	at java.awt.Window.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)
    Me fenetre s'ouvre correctement mais lorsque je clique sur un bouton j'ai ce long message d'erreur.
    En fait 2 bouton vont servir a ouvrir une fenetre texte et 2 autres a executer une application.

  9. #9
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    ça à l'air d'être un bête problème d'accolade essaye:


    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
     
    public void actionPerformed(ActionEvent e) {
    Object source = e.getSource();
    if(source == bouton){
    	FenetreTexte ft=new FenetreTexte();
            ft.setVisible(true);
    } 
    else{
            if(source == bouton2){
    	       FenetreTexte ft=new FenetreTexte();
                   ft.setVisible(true);
    	} 
            else{
                   if(source == bouton1){
    		         FenetreTexte ft=new FenetreTexte();
                             ft.setVisible(true);
    	       }
                   else{
                    	FenetreTexte ft=new FenetreTexte();
                            ft.setVisible(true);
                   }
              }
    }
    }

  10. #10
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    Ok ça fonctionne.En effet j'avais oublié une accolade.Merci beaucoup de votre aide!
    Est t"il possible d'afficher dans une fenetre un fichier texte qui est écrit dans un fichier .txt du bloc note???

  11. #11
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    je comprends pas trop la question (après tout il n'est que 10h du matin)...
    Tu veux afficher dans une fenêtre du texte que tu as lu dans un fichier txt?
    Dans ces cas la recupère le texte et lit le (va voir ici)
    et copie ce que tu as lu dans un JTextPane...

    Sinon tu peux faire un commande dos pour ouvrir ton fichier avec notepad...(va voir )

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    lol, c'est vrai que sa fait tôt pour faire du java mais bon.
    En fait , j'ai un fichier avec du texte toto.txt
    Je voudrai savoir si il est possible d'afficher le contenu de ce fichier toto dans ma FenetreTexte pour qu'il s'affiche dans cette fenetre lorsque je l'ouvre?
    Au fait dans ma FenetreTexte je ne peux que afficher du texte?
    Si je veux executer un algorithme, je ne peux pas le faire dans celle-ci?
    Quel type de fenetre peux executer un programme comme la console JAVA?
    Désolé mais je débute et j'aimerai connaitre le maximum de chose sur le sujet.
    Heureusement que des gens aussi sympatique que vous sont la pour me donner un coup de main.
    Je vous en remerci

  13. #13
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    En fait , j'ai un fichier avec du texte toto.txt
    Je voudrai savoir si il est possible d'afficher le contenu de ce fichier toto dans ma FenetreTexte pour qu'il s'affiche dans cette fenetre lorsque je l'ouvre?
    Au fait dans ma FenetreTexte je ne peux que afficher du texte?
    J'ai donc déjà repondu à cette question:
    Dans ces cas la recupère le texte et lit le (va voir ici)
    et copie ce que tu as lu dans un JTextPane...
    tu peux aussi utiliser un JLabel ou autre...
    Au fait dans ma FenetreTexte je ne peux que afficher du texte?
    Etant donné que c'est une classe que tu as crée toi même tu peux y faire ce que tu veux normalement, y afficher des images des tableaux,....
    Mais bon si tu en fais autre chose, le nom perds tout son sens...
    Si je veux executer un algorithme, je ne peux pas le faire dans celle-ci?
    effectivement tu peux mettre des algo dans ta classe tout dépend de ce que tu veux faire mais personellement j'évite de mélanger programmation "pure"(eurk je deteste ce mot) et interface.
    Par exemple prenons l'exemple tu présente une voiture:
    tu peux mettre d'un coté la classe Voiture et de l'autre VoiturePresentation l'une se charge de toute les méthodes de la voiture et l'autre juste son affichage.
    Tu lie une voiture à son affichage en mettant en attribut de la classe VoiturePresentation(extends Fenetre) une instance de la classe Voiture (et pas le contraire sinon une voiture aura obligatoirement une IHM).
    Maintenant tu veux reprendre ta classe voiture et faire un garage: tu met dans ta classe garage une liste d'instance de la classe Voiture.
    Si tu n'avais pas séparé les deux et fusionné les classes Voiture et VoiturePresentation, a chaque fois que tu aurais crée une Voiture pour la mettre dans le garage tu aurais eu une nouvelle fenêtre qui se serait ouverte (si tu as un garage de 200 voiture c'est passablement énervant...)
    Bon après si j'ai juste un algo de traitement de texte ou si tu es sure que tu ne vas jamais réutiliser les algos...
    Quel type de fenetre peux executer un programme comme la console JAVA?
    TU verras en cherchant dans le forum que plein de gens ont posé ce genre de question, tu peux voir ça ici
    Ce n'est pas forcemment très simple (personnellement moi ça m'as mis plusieurs jour avant de comprendre)

    Il n'y a pas de mal à débuter moi ça va faire 1 an et demi que je débute.
    Juste un conseil va faire un tour sur les FAQ et les tutoriaux, ils sont vraiment très bien fait, jusqu'à présent je n'ai jamais eu besoin de poster car toutes mes réponses y étaient et en plus c'est plus rapide que d'attendre que quelqu'un te réponde (même si tout le monde est hyper réactif)

  14. #14
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    Pour lire un fichier texte j'ai trouvé sa.
    Par contre je ne vois pas ou le programme fait appel a mon fichier texte?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /** Lecture du contenu : */
    Transférable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
    try {
            /** Vérification que le contenu est de type texte. */
            if( t!=null && t.isDataFlavorSupported(DataFlavor.stringFlavor) ) {
                    String txt = (String)t.getTransferData(DataFlavor.stringFlavor);
            } 
    } catch( UnsupportedFlavorException e1) {
     
    } catch( IOException e2 ) {
     
    }

  15. #15
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    gasp essaye ça ce sera plus simple:
    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
     
    //c'est dans le String path que tu donnes le chemin du fichier à ouvrir
    private <String>Vector lireTxt(String path){
    		BufferedReader lecteur= null;
                    Vector<String> res=new Vector<String>();
                    String line="";
    	    try
    	      {		    	
    //tu ouvres un BufferReader
    	    	lecteur= new BufferedReader(new FileReader(path));
    	      }
    	    catch(FileNotFoundException exc)
    	      {	System.out.println("Erreur d ouverture");			      }
    	    try {
    //tu le lis ligne par ligne et ajoute ce que tu as lu dans un Vector de String
                           while ((line = lecteur.readLine()) != null) {
                            res.add(line);
                         }
                 }
       	 } catch (IOException e1) {
    			System.out.println("pb a la lecture");
    		}
    	try {
    //tu ferme le BufferReader
    		lecteur.close();
    	} catch (IOException e) {
    		System.out.println("pb  a la fermeture");
    	}
    tu renvoie le Vector
    	return res;
    	}
     
    }

  16. #16
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    et le nom de mon fichier toto.txt je le place ou?

  17. #17
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    en argumant de la fonction: si tu veux récuperer ce qu'il y a dans le fichier toto.txt:
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //sous Windows
    //toto sous C
    Vector<String> Toto=lireTxt("C:\toto.txt");
    //toto dans repertoire courant:
    Vector<String> Toto=lireTxt(System.getProperties("user.dir")+"\toto.txt");
    //sous linux 
    Vector<String> Toto=lireTxt(System.getProperties("user.dir")+"/toto.txt");

  18. #18
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Par défaut
    C'est que sa devient compliqué tout ça.
    Bizar mais pour Vector<String> Toto=lireTxt("C:\toto.txt"); il affiche une erreur comme quoi il ne prend pas en comptre ces caracteres.je ne pense pas qu'il y ait d'erreurs pourtant

    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
    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
    73
    import java.awt.FlowLayout;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class Regles extends JFrame{
    	public Regles(){
    		super();
     
    		build();//On initialise notre fenêtre
    	}
     
    	private void build(){
    		setTitle("Liste des régles"); //On donne un titre à l'application
    		setSize(320,240); //On donne une taille à notre fenêtre
    		setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		setResizable(true); //On permet le redimensionnement
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
    		setContentPane(buildContentPane());
    	}
     
    	private JPanel buildContentPane(){
    		JPanel panel = new JPanel();
    		panel.setLayout(new FlowLayout());
     
    		JLabel label = new JLabel("Voici la liste des rêgles:\n");
     
    		panel.add(label);
     
    		return panel;
     
    	}	
     
    	private <String>Vector lireTxt(String path){
    			BufferedReader lecteur= null;
    	                Vector<String> res=new Vector<String>();
    	                String line="";
    		    try
    		      {		    	
    	//ouverture d'un BufferReader
    		    	lecteur= new BufferedReader(new FileReader(path));
    		      }
    		    catch(FileNotFoundException exc)
    		      {	System.out.println("Erreur d ouverture");			      }
    		    try {
    	//tu le lis ligne par ligne et ajoute ce que tu as lu dans un Vector de String
    	                       while ((line = lecteur.readLine()) != null) {
    	                        res.add(line);
    	                     }
     
    	   	 } catch (IOException e1) {
    				System.out.println("pb a la lecture");
     
    		try {
    	//fermer le BufferReader
    			lecteur.close();
    		} catch (IOException e) {
    			System.out.println("pb  a la fermeture");
    		}
     
    		return res;
    		}
     
     
    	}
     
    	public static void main(String[] args) {
    		//On crée une nouvelle instance de notre FenetreTexte
    		Regles fenetre = new Regles();
    		fenetre.setVisible(true);//On la rend visible
    		Vector<String> regles=lireTxt("C:\Documents and Settings\Administrateur\Bureau\JAVA\regles");
    	}
    }

  19. #19
    Membre éprouvé Avatar de sylviadesbois
    Inscrit en
    Mars 2007
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 84
    Par défaut
    remplace les \ par \\

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [GUI]Comment fonctionne une fenetre, un bouton ?
    Par Katian dans le forum API graphiques
    Réponses: 3
    Dernier message: 22/12/2008, 15h47
  2. mouvement d'un bouton en java
    Par haifa28 dans le forum Composants
    Réponses: 5
    Dernier message: 20/09/2008, 09h03
  3. cacher la fenetre d'une apllication java
    Par labhalla dans le forum Général Java
    Réponses: 2
    Dernier message: 13/05/2008, 22h10
  4. Communication bouton/code java
    Par Grimly_old dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 10/04/2008, 15h58
  5. Fenetre MDI bouton inactif
    Par slimsamfr2 dans le forum WinDev
    Réponses: 3
    Dernier message: 08/03/2007, 10h54

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