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

Composants Java Discussion :

Un seul bouton pour ouvrir et enregistrer dans composant


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Points : 26
    Points
    26
    Par défaut Un seul bouton pour ouvrir et enregistrer dans composant
    Bonjour le forum,


    j'ai un problème, j'ai créée un composant graphique qui contient un bouton et un textfield et filechooser.

    Alors mon problème est que j'ai un seule bouton mais il doit soit ouvrir (filechooser) ou soit enregistrer, mais je ne sais pas comment faire, car à chaque fois j'ai deux boutons qui s'affichent mais les deux font la même action...

    Je ne sais pas si je m'explique bien.... voici un peu du code...:
    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
     
    //Déclaration du buton
    nomButton=new JButton("Open");
    nomButton=new JButton("Save");
     
    //Ajoute du bouton
    this.add(nomButton);
     
    //Ajoute evenement
    nomButton.addActionListener(this);
    nomButton.addPropertyChangeListener(this);
     
    public void actionPerformed(ActionEvent evt) {	
    		Object source= evt.getSource();
    		Boolean status=false;
    		String nom= nomButton.getText().toString();
     
     
    			if(source==nomButton){
    				if(nom=="Open"){
    				 returnVal = choixFichier.showOpenDialog(Composant_graph.this);       
    		          if (returnVal == JFileChooser.APPROVE_OPTION){
    		              File file = choixFichier.getSelectedFile();		              
    		              fileinField.setText(file.getPath());
    		          }
    		        /*  if(!status)
    		          {
    		        	  JOptionPane.showMessageDialog (null, "Error opening file!", "File Open Error",JOptionPane.ERROR_MESSAGE); 
    		          }*/
     
    			}else if(source==nomButton)
    				{
    				if(nom=="Save"){
    				  returnVal = choixFichier.showSaveDialog(Composant_graph.this);  
    					if (returnVal == JFileChooser.APPROVE_OPTION){
    			            File file = choixFichier.getSelectedFile();
    			            if(!file.getName().endsWith(".xls")){
    			            	   file = new File(file.getParentFile(),file.getName()+".xls");
    			               }		               
    			               fileinField.setText(file.getPath());			               
    			           }
    				}
    				}
     
     
    			}
    	}

    apres dans ma classe qui contient le main, je fais la creation du frame et je fais l'appel de mon bouton....

    Au debut je lui passé en parametre le nom du bouton mais on m'a dit de déclarer le type(ovrir, enregistrer) separement......

    voilà merci à tous pour votre aide!

  2. #2
    Membre actif Avatar de uhrand
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 203
    Points : 275
    Points
    275
    Par défaut
    Essaie d'ajouter un seul bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Déclaration du buton
    nomButton = new JButton("Open");
    //Ajoute du bouton
    this.add(nomButton);
    //Ajoute evenement
    nomButton.addActionListener(this);
    nomButton.addPropertyChangeListener(this);
    Pour le cas où tu veux faire une sauvegarde, tu change le texte du bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomButton.setText("Save");
    (La logique qui détermine le nom correct du bouton ("Open" où "Save") est encore à développer.)

    Dans "actionPerformed" il faut comparer les chaînes par "equals" (pas par ==):

    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
    public void actionPerformed(ActionEvent evt) {
        Object source = evt.getSource();
        if (source == nomButton) {
            String nom = nomButton.getText();
            if (nom.equals("Open")) {
                returnVal = choixFichier.showOpenDialog(Composant_graph.this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = choixFichier.getSelectedFile();
                    fileinField.setText(file.getPath());
                }
            } else if (nom.equals("Save")) {
                returnVal = choixFichier.showSaveDialog(Composant_graph.this);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = choixFichier.getSelectedFile();
                    if (!file.getName().endsWith(".xls")) {
                        file = new File(file.getParentFile(), file.getName() + ".xls");
                    }
                    fileinField.setText(file.getPath());
                }
            }
        }
    }

Discussions similaires

  1. [AC-2007] Probleme pour Concaténer plusieurs enregistrements dans une seule colonne
    Par severik dans le forum Requêtes et SQL.
    Réponses: 23
    Dernier message: 08/11/2017, 15h15
  2. Bouton pour ouvrir un enregistrement
    Par Raiga dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/07/2007, 15h15
  3. Réponses: 2
    Dernier message: 09/11/2006, 07h37
  4. boutons pour modifier le tri dans un form
    Par @rkane dans le forum Access
    Réponses: 2
    Dernier message: 09/09/2006, 13h27
  5. Réponses: 2
    Dernier message: 27/04/2006, 21h41

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