Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3058 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Jtable JscrollPane et ajouter rafraichir un Jtalbe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Jtable JscrollPane et ajouter rafraichir un Jtalbe

n°1112719
Diabolic J​ones
Posté le 08-06-2005 à 14:54:50  profilanswer
 

Réponse ici :http://forum.hardware.fr/hardwaref [...] m#t1115447
 
Bonjour,  
 
J'essaie de faire un programme en java, qui affiche une liste d'information, qui peut être rafraichit par l'utilisateur au moyen d'une Jcombox (dans mon exemple j'ai mit un Jbutton car les evenements Jbutton sont plus faicle et plus lisible là n'est pas le problème).
 
Voila mon code :

Code :
  1. //-----------------------------------------
  2. // Inclusion des fichiers utils
  3. //-----------------------------------------
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. import javax.swing.*;
  7. import javax.swing.text.*;
  8. import javax.swing.event.*;
  9. import javax.swing.table.AbstractTableModel;
  10. import java.util.*;
  11. //import java.lang.*;
  12. //-----------------------------------------
  13. // Déclaration de la classe
  14. //-----------------------------------------
  15. public class testJTable extends JFrame
  16. {
  17. private JTable  jTable ;
  18. private JScrollPane jSPane;
  19. private JPanel  rightJPane = new JPanel(new FlowLayout() ) ;
  20. private JButton  jbouton  = new JButton("OK" );
  21. public testJTable()
  22. {
  23.  this.setSize(750,600);
  24.  this.setLocation(100,100);
  25.  this.setLayout (new BorderLayout() ) ;
  26.  this.setBackground(Color.lightGray);
  27.  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28.  this.jbouton.addActionListener(new MyActionListener());
  29.  afficheTable1();
  30.  this.jSPane = new JScrollPane(this.jTable);
  31. //  rightJPane.add(jcomboxSalle, BorderLayout.NORTH );
  32.  this.rightJPane.add(this.jbouton, BorderLayout.NORTH );
  33.  this.rightJPane.setBackground(Color.lightGray) ;
  34.  this.add(this.rightJPane,BorderLayout.WEST);
  35.  this.add(this.jSPane, BorderLayout.CENTER);
  36.  this.setVisible(true);
  37. }
  38. //-----------------------------------------------------------------------
  39. // La partie éxécutant du code doit se trouver hors de la définition
  40. // de la classe
  41. //-----------------------------------------------------------------------
  42. public static void main (String args[])
  43. {
  44.  testJTable truc = new testJTable();
  45. }
  46. public void afficheTable1()
  47. {
  48.  Vector<String> nomDesColonnes = new Vector<String>();
  49.  nomDesColonnes.addElement("Test d'affichage 1" );
  50.  Vector<Vector> valeurDesChamps = new Vector<Vector>();
  51.  Vector<String> elementUn = new Vector<String>();
  52.  Vector<String> elementDeux = new Vector<String>();
  53.  Vector<String> elementTrois = new Vector<String>();
  54.  elementUn.addElement("test 1" );
  55.  elementDeux.addElement("test 2" );
  56.  elementTrois.addElement("test 3" );
  57.  valeurDesChamps.addElement(elementUn);
  58.  valeurDesChamps.addElement(elementDeux);
  59.  valeurDesChamps.addElement(elementTrois);
  60.  System.out.println("Je tente la construction de l'affichage" );
  61.  this.jTable  = new JTable(valeurDesChamps,nomDesColonnes);
  62.  System.out.println("C'est fait \\o/." );
  63. }
  64. public void afficheTable2()
  65. {
  66.  Vector<String> nomDesColonnes = new Vector<String>();
  67.  nomDesColonnes.addElement("Test d'affichage 2" );
  68.  Vector<Vector> valeurDesChamps = new Vector<Vector>();
  69.  Vector<String> elementUn = new Vector<String>();
  70.  Vector<String> elementDeux = new Vector<String>();
  71.  Vector<String> elementTrois = new Vector<String>();
  72.  elementUn.addElement("test 4" );
  73.  elementDeux.addElement("test 5" );
  74.  elementTrois.addElement("test 6" );
  75.  valeurDesChamps.addElement(elementUn);
  76.  valeurDesChamps.addElement(elementDeux);
  77.  valeurDesChamps.addElement(elementTrois);
  78.  //----------------------------------------------------------------
  79.  // Mrche pas !!! :(
  80.  //----------------------------------------------------------------
  81.  System.out.println("Je tente la construction du second affichage" );
  82.  remove(this.jTable);
  83.  this.jTable  = new JTable(valeurDesChamps,nomDesColonnes);
  84.  System.out.println("C'est fait \\o/." );
  85.  /*
  86.  System.out.println ("afficheTable2()" );
  87.  String[] columnNames = {"Test Affichage2"};
  88.  Object[][] data = { {"afficheTable2"}};
  89.  
  90.  jTable = new JTable(data, columnNames);
  91.  */
  92. }
  93. //-----------------------------------------------------------------------
  94. // Evènements liés aux action sur les boutons
  95. //-----------------------------------------------------------------------
  96. private class MyActionListener implements ActionListener
  97. {
  98.  public void actionPerformed(ActionEvent event)
  99.  {
  100.   if( event.getSource() == jbouton )
  101.   {
  102.    afficheTable2();
  103.   }
  104.   else if( false )
  105.   {
  106.   }
  107.  }
  108. }
  109. }

 
 
J'ai lu des posts dans certains forums, dans la doc APi swing qui recommande de passé par un modele, mais pas d'exemple concret.
Vous remarquerez que dans mon cas, je ne chipote pas a vouloir rajouter une ligne, je reconstruit tout simplemnt les objets en totalité et cela ne se met pas à jour. J'ai tente d'appeler les méthodes repaint()  ou paint() rien n'y fait.
Donc je suis prenneur de la solution, j'affiche mon objet recreer, ou mieux j'efface les lignes et je rajoute mes nouvelles informations.
 
Merci D'avance


Message édité par Diabolic Jones le 10-06-2005 à 11:16:33
mood
Publicité
Posté le 08-06-2005 à 14:54:50  profilanswer
 

n°1115429
Diabolic J​ones
Posté le 10-06-2005 à 10:58:13  profilanswer
 

Bonjour,
 
Il va vraiment falloir que j'aille sur javalobby.com pour avoir une embryon de réponse :-( . C'est malheureux que la communaute Java soit presque inexistante. Merci d'avoir lu le post tout de même.
 
Donc au ton de ma réponse vous vous doutez certainement que je n'ai pas trouver de solution a mon probleme. Personne n'aurais un exemple de code même sans explication ?
 
Cordialement

n°1115447
Diabolic J​ones
Posté le 10-06-2005 à 11:10:13  profilanswer
 

Un élement de mreponce est déjà présent dans le forum hardware.fr
 
http://forum.hardware.fr/forum2.ph [...] subcat=390
 
un autre élement de réponse ressemble à ceci :  

Code :
  1. model = new DefaultTableModel(0,1);
  2. table = new JTable();
  3. table.setModel(model);
  4. model.removeRow(i);
  5. model.addRow(data);


 
Et voila la reponce ultime de Sun que je cherche depuis 15 jours. http://java.sun.com/j2se/1.5.0/doc [...] Model.html


Message édité par Diabolic Jones le 10-06-2005 à 11:15:23

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Jtable JscrollPane et ajouter rafraichir un Jtalbe

 

Sujets relatifs
Rafraichir une page, et non !!image dans jtable
MAP (::STL) - Definir un nouvel operateur de comparaisonajouter du temps à la date système
ajouter des animations flash à un siteWin32_scheduler : ajouter une tâche
[JAVA]Afficher un vector dans un JtableAjouter des colorations syntaxiques à Scite
comment ajouter une fiche a une unité[Résolu] Ajouter des enregistrements avec un formulaire, avec du code
Plus de sujets relatifs à : Jtable JscrollPane et ajouter rafraichir un Jtalbe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR