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

avec Java Discussion :

Rafraichissement des données


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Points : 112
    Points
    112
    Par défaut Rafraichissement des données
    salut
    J'ai une JTable qui affiche mes données (boites d'archives) quand je veut modifier une boite je la sélectionne dans la JTable et je clic sur le button modifier donc une autre fenêtre s'affiche avec les données de la boite pour les modifier jusque à la tous va bien mais si je sélectionne une autre boite et je veut la modifier elle m'affiche toujours la première boite.
    voila le 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
     
    b3.addActionListener(new ActionListener(){
    	public void  actionPerformed(ActionEvent e)
    	{
    		System.out.println("pppppppp3");
    		if(tab.getSelectedRow()==-1){
    			System.out.println("aucun ligne ni selectionée");
     
     		  				JPanel ff =new JPanel();
     		  				f2.add(ff);
     		  				f2.setSize(250,150);
     		  				JLabel ff3 =new JLabel("AUCUNE BOITE N'EST SELECTIONNE  ");
     		  				JLabel ff4=new JLabel(" SELECTIONNER     UNE   BOITE ");
     		  			JButton ff5=new JButton(" OK ");
     		  				ff.add(ff3);
     		  				ff.add(ff4);
     		  				ff.add(ff5);
     		  				f2.setResizable(false);
     		  				f2.setLocation(300,200);
     		  				f2.setVisible(true);
     
     
     		  				ff5.addActionListener(new ActionListener(){
     		  				public void actionPerformed(ActionEvent e)
     		  				{
     		  					f2.setVisible(false);
     		  				}	
     
     		  				}
     
     		  					);
    		}else{
    		System.out.println("lignes choisi:"+tab.getSelectedRow());
     
    		vb1=ss.boit[tab.getSelectedRow()][0]; //recupération des      données de la boite à partir d'une table qui se trouve dans une classe instancier par ss
    			vb2=ss.boit[tab.getSelectedRow()][1];
    				vb3=ss.boit[tab.getSelectedRow()][2];
    					vb4=ss.boit[tab.getSelectedRow()][3];	
    						vb5=ss.boit[tab.getSelectedRow()][4];
    					vb6=ss.boit[tab.getSelectedRow()][5];
    							System.out.println("vb1:"+vb1);
    				setboit seb=new setboit();		
    		}
    	} 
    }
    );
    le code de setboit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    nn_box.setText(qss.vb1); //JTextfield ou j'affiche mes données 
    nnom_box.setText(qss.vb2);//JTextfield ou j'affiche mes données 
    tt_box.setSelectedItem(qss.vb3);//JCombobox pour afficher les données 
    dd_box.setText(qss.vb4);	//JTextfield ou j'affiche mes données 
    cc_box.setSelectedItem(qss.vb6); ////JCombobox pour afficher les données
    merci d'avance.

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Je te conseil d'avoir un minimum de clarté sur le nom de tes variables.
    "ff" pour un JPanel, ce n'est pas une bonne idée.
    En fait, un JPanel pour affiché ce message n'est pas une bonne idée.
    On utilise un JOptionPane pour le coup.
    Javadoc JOptionPanel : http://download.oracle.com/javase/6/...ptionPane.html
    How use : http://java.sun.com/docs/books/tutor...ts/dialog.html
    Exemple sur ton 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
    b3.addActionListener(new ActionListener(){
    	public void  actionPerformed(ActionEvent e)
    	{
    		if(tab.getSelectedRow()==-1){
    		JOptionPane.showMessageDialog(frame,
    			"SELECTIONNER     UNE   BOITE !", 
    			"AUCUNE BOITE N'EST SELECTIONNE",
    			JOptionPane.WARNING_MESSAGE);
    		}else{
    			System.out.println("lignes choisi:"+tab.getSelectedRow());
    			vb1=ss.boit[tab.getSelectedRow()][0]; //recupération des      données de la boite à partir d'une table qui se trouve dans une classe instancier par ss
    			vb2=ss.boit[tab.getSelectedRow()][1];
    			vb3=ss.boit[tab.getSelectedRow()][2];
    			vb4=ss.boit[tab.getSelectedRow()][3];	
    			vb5=ss.boit[tab.getSelectedRow()][4];
    			vb6=ss.boit[tab.getSelectedRow()][5];
    			System.out.println("vb1:"+vb1);
    			setboit seb=new setboit();		
    		}
    	} 
    }
    Pour ce qui est de ton problème d'affichage, il nous faudrait savoir ce qu'est ton "setboit" variable.
    setboit seb=new setboit();
    Rappel : Convention de nommage :
    Une classe commence toujours par une Majuscule.
    Une instance commence toujours par une minuscule.

    Mais il est probable qu'un "repaint()" sur ta JFrame globale résolve le problème.

    si vb1 à vb6 ne sont utiliser que pour initialiser ton composant, je te conseil de ne pas les déclarer comme des variable de classe, mais comme des variable du bloc de code concerné.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Membre régulier Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Points : 112
    Points
    112
    Par défaut
    salut
    premièrement merci infiniment pour vos conseils et pour votre aide.
    qui concerne l'utilisation du JOptionPanel sa marche trés bien merci.

    *qui concerne mon premier problème ce n'est pas les valeurs vb qui ne se change pas (car j'affiche les valeurs vb1,vb2,... ) mais le contenu des JTextfield et les JCombobox qui reste inéchangeable.
    setboit() c'est une classe qui affiche une JFrame avec les JTextfield et les JComboBox qui affiche les données des boites d'archives.
    merci.

  4. #4
    Membre régulier Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Points : 112
    Points
    112
    Par défaut
    j'ai essayer avec repaint() mais n'a rien donner .

  5. #5
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Il serai bon de nous montrer l'ensemble de votre code.
    On ne connait même pas le type des variables...

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  6. #6
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    Juste deux conseils pour l'avenir :
    • JTable.getSelectedRows() te renvoie le numéro de ligne dans l'affichage mais cela ne correspond pas nécessairement au TableModel. Utilise cette méthode pour faire la conversion vue vers modèle. Voir la classe RowSorter pour avoir un mapping différent.
    • J'ai l'impression que tu passes par des variables static pour transférer tes informations, préfère des attributs avec des getter/setter ou utilises le constructeur pour passer les valeurs. D'ailleurs ton problème vient peut-être de là.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  7. #7
    Membre régulier Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Points : 112
    Points
    112
    Par défaut
    voila le code :
    voila la classe QS:
    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
     
    public class QS extends JFrame {
    int lignes;
    static  String nbconcerni,nombconcerni,nautobconcerni,vb1,vb2,vb3,vb4,vb5,vb6;
     
    public QS(){
    	JFrame frame = new JFrame("Archive");
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     
    		 JButton b1,b3,b4,b5,b6,b7,b8,b9;
     
    		JMenuBar menubar = new JMenuBar();
     
    		b1 =new JButton(new ImageIcon("adbox.png"));
    	     	b1.setToolTipText("Ajouter une boite");
     
    	    b2=new JButton (new ImageIcon("af.png"));
    	       b2.setToolTipText("Ajouter un document");
    		b3=new JButton (new ImageIcon("set box.png"));
    	     	b3.setToolTipText("Modifier une boite");
    			b4=new JButton (new ImageIcon("mb2.png"));
    		        	b4.setToolTipText("Modifier un document");
    			b5=new JButton (new ImageIcon("del box.png"));
    			    b5.setToolTipText("Supprimer une boite");
    			b6=new JButton (new ImageIcon("del doc.png"));
    			    b6.setToolTipText("Supprimer un document");
    			b7=new JButton(new ImageIcon("serbox3.png"));
    			    b7.setToolTipText("Rechercher une boite");
    			b8=new JButton(new ImageIcon("serdoc2.png"));
    			   b8.setToolTipText("Recherher un document");
    			b9=new JButton(new ImageIcon("help.png"));
    			   b9.setToolTipText("à propos ");
     
    b3.addActionListener(new ActionListener(){
    	public void  actionPerformed(ActionEvent e)
    	{
    		System.out.println("pppppppp3");
    		if(tab.getSelectedRow()==-1){
    			System.out.println("aucun ligne ni selectionée");
     
     		  				JFrame ff =new JFrame();
     
     		  				JOptionPane.showMessageDialog(ff,
    			"SELECTIONNER     UNE   BOITE !", 
    			"AUCUNE BOITE N'EST SELECTIONNE",
    			JOptionPane.WARNING_MESSAGE);
     
     
     
    		}else{
    		System.out.println("lignes choisi:"+tab.getSelectedRow());
     
    		vb1=ss.boit[tab.getSelectedRow()][0];
    			vb2=ss.boit[tab.getSelectedRow()][1];
    				vb3=ss.boit[tab.getSelectedRow()][2];
    					vb4=ss.boit[tab.getSelectedRow()][3];	
    						vb5=ss.boit[tab.getSelectedRow()][4];
    							vb6=ss.boit[tab.getSelectedRow()][5];
    							System.out.println("vb1:"+vb1);
    							System.out.println("vb2:"+vb2);
    							System.out.println("vb3:"+vb3);
    							System.out.println("vb4:"+vb4);
    							System.out.println("vb5:"+vb5);
    							System.out.println("vb6:"+vb6);
    				Setboit seb=new Setboit();			
    		}
    	} 
     
     
    }
    );
     
    }
    }
    voila la classe Setboit():
    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
     
    public class setboit extends JFrame {
    static QS qss;
     
    static JFrame sbox=new JFrame("Modification d'une boite");
    JButton  o_box,a_box;
      JTextField  nn_box,nnom_box,dd_box;
      JComboBox tt_box,cc_box;
    public Setboit() {
    sbox.setSize(400,280);
        JPanel sbbox =new JPanel();
        sbbox.setSize(200,200);
        sbbox.setLayout(new FlowLayout(FlowLayout.LEFT,55,15));
    JLabel   n_box=new JLabel("n° de boite     :");
      nn_box=new JTextField(8);
       JLabel nom_box=new JLabel("Nom de boite:");
        nnom_box=new JTextField(15);
    JLabel t_box =new JLabel("type de boite  :");
     tt_box=new JComboBox();
    tt_box.addItem("personnel");
    tt_box.addItem("Budget");
    tt_box.addItem("demmande");
    JLabel d_box=new JLabel("date  creation :");
     dd_box = new JTextField(6);
     JLabel c_box=new JLabel("coleur boite     :");
    cc_box =new JComboBox();
    cc_box.addItem("blanc ");
    cc_box.addItem("noir ");
    cc_box.addItem("rouge ");
    cc_box.addItem("bleu ");
    cc_box.addItem("ver ");
    cc_box.addItem("gris ");
    cc_box.addItem("marron ");
    o_box = new JButton("  MODIFIER  ") ;
      a_box = new JButton("ANNULER");  	
    sbbox.add(n_box);
    sbbox.add(nn_box);
    sbbox.add(nom_box);
    sbbox.add(nnom_box);
    sbbox.add(t_box);
    sbbox.add(tt_box);
    sbbox.add(d_box);
    sbbox.add(dd_box);
    sbbox.add(c_box);
    sbbox.add(cc_box);
    sbbox.add(o_box);
    sbbox.add(a_box);
    sbox.add(sbbox);
    nn_box.setText(" ");
    nnom_box.setText("  ");
    tt_box.setSelectedItem("  ");
    dd_box.setText("   ");	
    cc_box.setSelectedItem("  ");
    System.out.println("chargement");
    System.out.println("qss.vb1  :"+qss.vb1);
    System.out.println("qss.vb2  :"+qss.vb2);
    System.out.println("qss.vb3  :"+qss.vb3);
    System.out.println("qss.vb4  :"+qss.vb4);
    System.out.println("qss.vb6  :"+qss.vb6);
    nn_box.setText(ss.boit[qss.tab.getSelectedRow()][0]);//c'est la ou je charge
    nnom_box.setText(qss.vb2);                                   // mes nouveaux 
    tt_box.setSelectedItem(qss.vb3);                       //données dans les 
    dd_box.setText(qss.vb4);	                            //composants
    cc_box.setSelectedItem(qss.vb6);  
    sbox.setVisible(true);	
    java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
     
    sbox.setLocation(
            (screenSize.width-sbox.getWidth())/2,
            (screenSize.height-sbox.getHeight())/2
            );  	
        sbox.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);	
    }
    }
    le problème n'est pas dans les valeurs vb1,vb2,.....vb6 car quand j'affiche ces valeurs il sont correct mais le pb est dans la mise à jour de contenu des composants(JTextfield,JComboBox,) ou j'affiche ces valeurs.

  8. #8
    Membre régulier Avatar de JTABLE
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 164
    Points : 112
    Points
    112
    Par défaut
    J'ai essayer de donner seulement la partie concerné du mon code.

Discussions similaires

  1. [AJAX] Rafraichissement des données sur la page
    Par TreizeSegments dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 18h32
  2. Rafraichissement des données avec ADOConnection -SQL Server
    Par newfsch dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/01/2006, 21h48
  3. [Form/ssForm] rafraichissement des données
    Par michaelbob dans le forum Access
    Réponses: 3
    Dernier message: 14/10/2005, 11h05
  4. Vitesse de rafraichissement des données
    Par StarMusic dans le forum Bases de données
    Réponses: 2
    Dernier message: 30/09/2005, 10h20
  5. question sur le rafraichissement des données dans la base
    Par vbcasimir dans le forum Bases de données
    Réponses: 8
    Dernier message: 06/06/2005, 12h44

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