Partage
  • Partager sur Facebook
  • Partager sur Twitter

accès temps réel

java+Bd Oracle

Sujet résolu
    22 mars 2007 à 12:08:44

    Bonjour!!

    Voilà : je voudrais suivre le fonctionnement d'un programmme qui tourne en arrière plan et qui met à jour une base de données oracle (en y insérant des nouvelles données), pour cela j'ai pensé à accéder en temps réel à la base de données et à afficher au fur et à mesure les données qui y sont ajoutées.

    Quelqu'un aurait-il une idée sur la façon de procéder pour réaliser cet affichage en temps réel?

    Merci pour votre aide!!
    • Partager sur Facebook
    • Partager sur Twitter
      24 mars 2007 à 12:19:09

      tu peux donner plus d'infos ???
      où tu es rendu ?
      des bouts de code ?

      dans l'idée c'est possible avec des ecouteurs= listeners qui permettent de regarder les modifs de ton appli ms j'ai besoin de + de détails !
      ciao
      ameliep
      • Partager sur Facebook
      • Partager sur Twitter
        26 mars 2007 à 18:21:10

        En effet cela manque d'informations. Tu veux suivre les modifications OK mais ou ? sur une page Web ? sur ton programme ?

        Si c'est a lexterieur de ton programme la facon la plus simple qui me vienne a l'idée reste encore lecriture des modification dans un document. (apres monStatement.executeUpdate(RequeteString); par exemple ) :)
        • Partager sur Facebook
        • Partager sur Twitter
          27 mars 2007 à 12:09:42

          Salut!

          Ce que je voudrais c'est reproduire le fonctionnement d'un trigger mais dans mon application java: c'est à dire que dès qu'il y a insertion d'une nouvelle ligne dans la base de données par le programme qui tourne en arrière plan, cette ligne est affichée dans ma jtable.

          (j'ai utilisé un timer qui réactualise l'affichage de ma jtable mais ça ne marche que si je ferme l'application et je la réexécute et non en temps réel!!)

          svp aidez moi!!

          Merci!!
          • Partager sur Facebook
          • Partager sur Twitter
            28 mars 2007 à 9:52:21

            Bonjour!

            Si vous avez besoin de plus d'explication (ou même du code source) n'hésiter pas à me le demander!

            J'ai vraiment besoin de votre aide!

            Merci!
            • Partager sur Facebook
            • Partager sur Twitter
              28 mars 2007 à 12:46:08

              Salut est-il envisageable de faire lancer le programme qui tourne en arrière plan par ton appli java ?
              c'est toi qui as développé l'appli d'arrière plan ?
              • Partager sur Facebook
              • Partager sur Twitter
                28 mars 2007 à 13:17:56

                donne ton code stp, rien que pour voir d'ou tu pars, ça fera une base de réflexion !merci
                ++
                ameliep
                • Partager sur Facebook
                • Partager sur Twitter
                  28 mars 2007 à 13:48:05



                  Salut!!
                  Concernant le programme en arrière plan ce n'est pas moi qui l'est crée et je ne peux pas le faire exécuter à partir de mon application!

                  De plus j'ai vérifié et le code que j'ai écrit marche bien sur la console (si j'utilise un System.out.println) mais c'est au niveau de l'affichage dans l'interface que ça bloque!!Donc appremment le problème est au niveau du refresh mais je ne sais pas comment faire!!

                  svp aidez moi c'est vraiment urgent!!

                  Merci!!

                  Code:
                  package oracle_cnn;

                  import java.util.Timer;
                  import java.util.TimerTask;
                  import javax.swing.*;
                  import javax.swing.event.*;
                  import java.awt.Dimension;
                  import java.sql.*;
                  import java.util.Vector;
                  import javax.swing.table.DefaultTableModel;
                  import java.util.Timer;
                  import java.util.TimerTask;
                  import java.awt.event.ActionListener;
                  import java.awt.event.ActionEvent;
                  import java.awt.event.MouseListener;
                  import java.awt.event.MouseEvent;
                  import com.sun.tools.doclets.standard.tags.SimpleTaglet;
                  import com.sun.corba.se.ActivationIDL.Server;





                  class test extends JPanel implements TableModelListener
                  {

                  public void tableChanged(TableModelEvent e)
                  { }

                  public static void main(String[] argv) throws SQLException {

                  Timer minuteur = new Timer();

                  //nouvelle fenêtre
                  final JFrame f = new JFrame("Application");


                  TimerTask tache = new TimerTask() {
                  public void run() {

                  f.setSize(1200, 1200);
                  JPanel pannel = new JPanel();

                  JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP);

                  /*********************************************************************************************/
                  /*****barre de menu****/

                  /* Création des composants */


                  JPanel panel1= new JPanel();
                  /* Bar de menu */
                  JMenuBar menu_bar1 = new JMenuBar();
                  /* différents menus */
                  JMenu menu1 = new JMenu("Fichier");
                  JMenu menu2 = new JMenu("Aide");
                  /* differents choix de chaque menu */
                  JMenuItem generalites = new JMenuItem("Généralités");
                  JMenuItem quitter = new JMenuItem("Quitter");
                  JMenuItem aide = new JMenuItem("Aide");

                  /* Ajout de composants aux conteneurs */

                  f.getContentPane().add(panel1,"South");
                  /* Ajouter les choix au menu */
                  menu1.add(generalites);
                  menu1.add(quitter);
                  menu2.add(aide);

                  /* Ajouter les menu sur la bar de menu */
                  menu_bar1.add(menu1);
                  menu_bar1.add(menu2);
                  /* Ajouter la bar du menu à la frame */
                  f.setJMenuBar(menu_bar1);


                  /* clic sur le choix Démarrer du menu fichier */
                  generalites.addActionListener(new ActionListener()
                  {
                  public void actionPerformed(ActionEvent e)
                  {
                  JFrame frame1= new JFrame("Présentation de l'application");
                  JPanel panel2= new JPanel();
                  JLabel texte = new JLabel() ;//On crée notre objet
                  texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                  texte.setText("................."); //On lui donne un texte
                  panel2.add(texte);//On l'ajoute au container
                  frame1.getContentPane().add(panel2);
                  frame1.setResizable(true);
                  frame1.setSize(200,200);
                  frame1.show();
                  frame1.setLocationRelativeTo(null);
                  }
                  });
                  /* clic sur le choix Fin du menu fichier */
                  aide.addActionListener(new ActionListener()
                  {
                  public void actionPerformed(ActionEvent e)
                  {
                  JFrame frame2= new JFrame("Aide");
                  JPanel panel3= new JPanel();
                  JLabel texte = new JLabel() ;//On crée notre objet
                  texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                  texte.setText("................."); //On lui donne un texte
                  panel3.add(texte);//On l'ajoute au container



                  frame2.getContentPane().add(panel3);
                  frame2.setResizable(true);
                  frame2.setSize(200,200);
                  frame2.show();
                  frame2.setLocationRelativeTo(null);}});

                  quitter.addActionListener(new ActionListener()
                  {
                  public void actionPerformed(ActionEvent e)
                  {
                  System.exit(0);
                  }});


                  /*****************************************************************************************/
                  /**** Connexion à la base *****/

                  // Charger le pilote Oracle
                  try {
                  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

                  // Connexion à la base de données
                  Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:ubixstg", "user", "Password");

                  // conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);


                  //Création d'un objet requête
                  Statement stmt = conn.createStatement ();

                  Statement stmt1 = conn.createStatement ();

                  Statement stmt2 = conn.createStatement ();

                  Statement stmt4 = conn.createStatement ();

                  Statement stmt3 = conn.createStatement ();
                  //Envoyer la requête et récupérer le résultat
                  ResultSet rset1 = stmt.executeQuery ("select col from tab1");

                  ResultSet rset2 = stmt1.executeQuery ("select col from tab2");

                  ResultSet rset5 = stmt2.executeQuery ("select col from tab3");

                  ResultSet rset4 = stmt3.executeQuery ("select col from tab4");

                  ResultSet rset6 = stmt4.executeQuery ("select col from tab5");


                  /*******************************************************************************/
                  /*** Affichage résultat requête 1 dans la table 1 ***/

                  Vector values = new Vector();
                  int i=1;
                  while(rset1.next() & rset2.next()) //& rset3.next())
                  {


                  Vector tab1 = new Vector();
                  tab1.add("Proc"+i); //on met le nom exact de la colonne affichée dans la base
                  //à refaire pour les autres colones
                  tab1.add(rset1.getString("col1"));
                  tab1.add(rset2.getString("col2"));
                  //tab1.add(rset3.getString("col3"));
                  values.addElement(tab1);
                  i++;
                  }
                  Vector names= new Vector();


                  names.addElement("titre1");
                  //a refaire pour plus de colone
                  names.addElement("titre2");
                  names.addElement("titre3");
                  names.addElement(titre4");

                  DefaultTableModel model = new DefaultTableModel (values,names){
                  public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                  {
                  return false;
                  }
                  };

                  JTable tab1 = new JTable(model);

                  tab1.setPreferredScrollableViewportSize(new Dimension(800, 800));

                  tab1.getTableHeader().setReorderingAllowed(false);

                  /****************************Affichage de la table2***********************************************/

                  Vector values1 = new Vector();

                  int j=1;
                  while(rset4.next())
                  {
                  Vector tab2 = new Vector();
                  tab2.add("Proc"+j);
                  tab2.add("");//rset1.getString("col1")); //on met le nom exact de la colonne affichée dans la base
                  //à refaire pour les autres colones
                  tab2.add("");//rset1.getString("col2"));
                  //tab2.add(rset4.getString("col3"));
                  values1.add(tab2);
                  j++;
                  }
                  Vector names1= new Vector();


                  names1.addElement("titre1");
                  //a refaire pour plus de colone
                  names1.addElement("titre2");
                  names1.addElement("titre3");
                  names1.addElement("titre4");

                  DefaultTableModel model1 = new DefaultTableModel (values1,names1){
                  public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                  {
                  return false;
                  }
                  };


                  JTable tab2 = new JTable(model1);

                  tab2.setPreferredScrollableViewportSize(new Dimension(800, 800));

                  tab2.getTableHeader().setReorderingAllowed(false);

                  /****************************Affichage de la table3***********************************************/

                  Vector values2 = new Vector();
                  int k=1;
                  while(rset5.next() & rset6.next())
                  {
                  Vector tab3 = new Vector();
                  tab3.add("Proc"+k);
                  tab3.add(rset5.getString("col1"));
                  //on met le nom exact de la colonne affichée dans la base
                  //à refaire pour les autres colones
                  tab3.add(rset6.getString("col2"));
                  tab3.add("");//rset1.getString("col3"));
                  values1.add(tab2);
                  k++;

                  values2.add(tab3);
                  }
                  Vector names2= new Vector();


                  names2.addElement("titre1");
                  //a refaire pour plus de colone
                  names2.addElement("titre2");
                  names2.addElement("titre3");
                  names2.addElement("titre4");

                  DefaultTableModel model2 = new DefaultTableModel (values2,names2){
                  public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                  {
                  return false;
                  }
                  };


                  JTable tab3 = new JTable(model2);

                  tab3.setPreferredScrollableViewportSize(new Dimension(800, 800));

                  tab3.getTableHeader().setReorderingAllowed(false);
                  /*******************************************************************************/

                  //conteneur du premier onglet
                  JPanel onglet1 = new JPanel();
                  JLabel titreOnglet1 = new JLabel("Process1");
                  onglet1.add(titreOnglet1);
                  onglet1.setPreferredSize(new Dimension(900, 900));
                  onglets.addTab("Running Process", onglet1);
                  onglet1.add(new JScrollPane(tab1));

                  /********************Gérer les doubles clics au niveau de la table1**************************/

                  tab1.addMouseListener(new MouseListener() {
                  public void mouseClicked(MouseEvent e) {
                  if (e.getClickCount() == 2) {
                  //code à exécuter


                  JFrame fen = new JFrame("Fenêtre");
                  fen.setSize(600,300);
                  fen.setLocationRelativeTo(null);
                  fen.setVisible(true);

                  }
                  }

                  public void mouseEntered(MouseEvent e) {}
                  public void mouseExited(MouseEvent e) {}
                  public void mousePressed(MouseEvent e) {}
                  public void mouseReleased(MouseEvent e) {}
                  });

                  /*********************************************************************/

                  //conteneur du second onglet
                  JPanel onglet2 = new JPanel();
                  JLabel titreOnglet2 = new JLabel("Process2");
                  onglet2.add(titreOnglet2);
                  onglets.addTab("Database Operation", onglet2);
                  onglet2.setPreferredSize(new Dimension(900, 900));
                  onglet2.add(new JScrollPane(tab2));


                  //conteneur du troisième ongle-t
                  JPanel onglet3 = new JPanel();
                  JLabel titreOnglet3 = new JLabel("Process3");
                  onglet3.add(titreOnglet3);
                  onglets.addTab("Process Properties", onglet3);
                  onglet3.setPreferredSize(new Dimension(900, 900));
                  onglet3.add(new JScrollPane(tab3));

                  onglets.setOpaque(true);
                  pannel.add(onglets);
                  f.getContentPane().add(pannel);


                  pannel.revalidate();
                  pannel.repaint();


                  //taille de la fenêtre
                  f.setSize(1200, 1200);

                  f.repaint();

                  //Rendre la fenêtre visible
                  f.setVisible(true);

                  // Fermeture de la connexion

                  conn.close();



                  }
                  catch (SQLException ex) {
                  }
                  }

                  };

                  minuteur.schedule(tache, 0, 12000);
                  }
                  }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 mars 2007 à 16:28:56

                    aarrrgggghhhhhh
                    -->ça se voit que je ne suis pas content là ???
                    penses à utiliser les balises code stp

                    merci
                    ++
                    ameliep

                    bon je le fais pour voir ce que ça donne...
                    package oracle_cnn;

                    import java.util.Timer;
                    import java.util.TimerTask;
                    import javax.swing.*;
                    import javax.swing.event.*;
                    import java.awt.Dimension;
                    import java.sql.*;
                    import java.util.Vector;
                    import javax.swing.table.DefaultTableModel;
                    import java.util.Timer;
                    import java.util.TimerTask;
                    import java.awt.event.ActionListener;
                    import java.awt.event.ActionEvent;
                    import java.awt.event.MouseListener;
                    import java.awt.event.MouseEvent;
                    import com.sun.tools.doclets.standard.tags.SimpleTaglet;
                    import com.sun.corba.se.ActivationIDL.Server;





                    class test extends JPanel implements TableModelListener
                    {

                    public void tableChanged(TableModelEvent e)
                    { }

                    public static void main(String[] argv) throws SQLException {

                    Timer minuteur = new Timer();

                    //nouvelle fenêtre
                    final JFrame f = new JFrame("Application");


                    TimerTask tache = new TimerTask() {
                    public void run() {

                    f.setSize(1200, 1200);
                    JPanel pannel = new JPanel();

                    JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP);

                    /*********************************************************************************************/
                    /*****barre de menu****/

                    /* Création des composants */


                    JPanel panel1= new JPanel();
                    /* Bar de menu */
                    JMenuBar menu_bar1 = new JMenuBar();
                    /* différents menus */
                    JMenu menu1 = new JMenu("Fichier");
                    JMenu menu2 = new JMenu("Aide");
                    /* differents choix de chaque menu */
                    JMenuItem generalites = new JMenuItem("Généralités");
                    JMenuItem quitter = new JMenuItem("Quitter");
                    JMenuItem aide = new JMenuItem("Aide");

                    /* Ajout de composants aux conteneurs */

                    f.getContentPane().add(panel1,"South");
                    /* Ajouter les choix au menu */
                    menu1.add(generalites);
                    menu1.add(quitter);
                    menu2.add(aide);

                    /* Ajouter les menu sur la bar de menu */
                    menu_bar1.add(menu1);
                    menu_bar1.add(menu2);
                    /* Ajouter la bar du menu à la frame */
                    f.setJMenuBar(menu_bar1);


                    /* clic sur le choix Démarrer du menu fichier */
                    generalites.addActionListener(new ActionListener()
                    {
                    public void actionPerformed(ActionEvent e)
                    {
                    JFrame frame1= new JFrame("Présentation de l'application");
                    JPanel panel2= new JPanel();
                    JLabel texte = new JLabel() ;//On crée notre objet
                    texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                    texte.setText("................."); //On lui donne un texte
                    panel2.add(texte);//On l'ajoute au container
                    frame1.getContentPane().add(panel2);
                    frame1.setResizable(true);
                    frame1.setSize(200,200);
                    frame1.show();
                    frame1.setLocationRelativeTo(null);
                    }
                    });
                    /* clic sur le choix Fin du menu fichier */
                    aide.addActionListener(new ActionListener()
                    {
                    public void actionPerformed(ActionEvent e)
                    {
                    JFrame frame2= new JFrame("Aide");
                    JPanel panel3= new JPanel();
                    JLabel texte = new JLabel() ;//On crée notre objet
                    texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                    texte.setText("................."); //On lui donne un texte
                    panel3.add(texte);//On l'ajoute au container



                    frame2.getContentPane().add(panel3);
                    frame2.setResizable(true);
                    frame2.setSize(200,200);
                    frame2.show();
                    frame2.setLocationRelativeTo(null);}});

                    quitter.addActionListener(new ActionListener()
                    {
                    public void actionPerformed(ActionEvent e)
                    {
                    System.exit(0);
                    }});


                    /*****************************************************************************************/
                    /**** Connexion à la base *****/

                    // Charger le pilote Oracle
                    try {
                    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

                    // Connexion à la base de données
                    Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:ubixstg", "user", "Password");

                    // conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);


                    //Création d'un objet requête
                    Statement stmt = conn.createStatement ();

                    Statement stmt1 = conn.createStatement ();

                    Statement stmt2 = conn.createStatement ();

                    Statement stmt4 = conn.createStatement ();

                    Statement stmt3 = conn.createStatement ();
                    //Envoyer la requête et récupérer le résultat
                    ResultSet rset1 = stmt.executeQuery ("select col from tab1");

                    ResultSet rset2 = stmt1.executeQuery ("select col from tab2");

                    ResultSet rset5 = stmt2.executeQuery ("select col from tab3");

                    ResultSet rset4 = stmt3.executeQuery ("select col from tab4");

                    ResultSet rset6 = stmt4.executeQuery ("select col from tab5");


                    /*******************************************************************************/
                    /*** Affichage résultat requête 1 dans la table 1 ***/

                    Vector values = new Vector();
                    int i=1;
                    while(rset1.next() & rset2.next()) //& rset3.next())
                    {


                    Vector tab1 = new Vector();
                    tab1.add("Proc"+i); //on met le nom exact de la colonne affichée dans la base
                    //à refaire pour les autres colones
                    tab1.add(rset1.getString("col1"));
                    tab1.add(rset2.getString("col2"));
                    //tab1.add(rset3.getString("col3"));
                    values.addElement(tab1);
                    i++;
                    }
                    Vector names= new Vector();


                    names.addElement("titre1");
                    //a refaire pour plus de colone
                    names.addElement("titre2");
                    names.addElement("titre3");
                    names.addElement("titre4");

                    DefaultTableModel model = new DefaultTableModel (values,names){
                    public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                    {
                    return false;
                    }
                    };

                    JTable tab1 = new JTable(model);

                    tab1.setPreferredScrollableViewportSize(new Dimension(800, 800));

                    tab1.getTableHeader().setReorderingAllowed(false);

                    /****************************Affichage de la table2***********************************************/

                    Vector values1 = new Vector();

                    int j=1;
                    while(rset4.next())
                    {
                    Vector tab2 = new Vector();
                    tab2.add("Proc"+j);
                    tab2.add("");//rset1.getString("col1")); //on met le nom exact de la colonne affichée dans la base
                    //à refaire pour les autres colones
                    tab2.add("");//rset1.getString("col2"));
                    //tab2.add(rset4.getString("col3"));
                    values1.add(tab2);
                    j++;
                    }
                    Vector names1= new Vector();


                    names1.addElement("titre1");
                    //a refaire pour plus de colone
                    names1.addElement("titre2");
                    names1.addElement("titre3");
                    names1.addElement("titre4");

                    DefaultTableModel model1 = new DefaultTableModel (values1,names1){
                    public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                    {
                    return false;
                    }
                    };


                    JTable tab2 = new JTable(model1);

                    tab2.setPreferredScrollableViewportSize(new Dimension(800, 800));

                    tab2.getTableHeader().setReorderingAllowed(false);

                    /****************************Affichage de la table3***********************************************/

                    Vector values2 = new Vector();
                    int k=1;
                    while(rset5.next() & rset6.next())
                    {
                    Vector tab3 = new Vector();
                    tab3.add("Proc"+k);
                    tab3.add(rset5.getString("col1"));
                    //on met le nom exact de la colonne affichée dans la base
                    //à refaire pour les autres colones
                    tab3.add(rset6.getString("col2"));
                    tab3.add("");//rset1.getString("col3"));
                    values1.add(tab2);
                    k++;

                    values2.add(tab3);
                    }
                    Vector names2= new Vector();


                    names2.addElement("titre1");
                    //a refaire pour plus de colone
                    names2.addElement("titre2");
                    names2.addElement("titre3");
                    names2.addElement("titre4");

                    DefaultTableModel model2 = new DefaultTableModel (values2,names2){
                    public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                    {
                    return false;
                    }
                    };


                    JTable tab3 = new JTable(model2);

                    tab3.setPreferredScrollableViewportSize(new Dimension(800, 800));

                    tab3.getTableHeader().setReorderingAllowed(false);
                    /*******************************************************************************/

                    //conteneur du premier onglet
                    JPanel onglet1 = new JPanel();
                    JLabel titreOnglet1 = new JLabel("Process1");
                    onglet1.add(titreOnglet1);
                    onglet1.setPreferredSize(new Dimension(900, 900));
                    onglets.addTab("Running Process", onglet1);
                    onglet1.add(new JScrollPane(tab1));

                    /********************Gérer les doubles clics au niveau de la table1**************************/

                    tab1.addMouseListener(new MouseListener() {
                    public void mouseClicked(MouseEvent e) {
                    if (e.getClickCount() == 2) {
                    //code à exécuter


                    JFrame fen = new JFrame("Fenêtre");
                    fen.setSize(600,300);
                    fen.setLocationRelativeTo(null);
                    fen.setVisible(true);

                    }
                    }

                    public void mouseEntered(MouseEvent e) {}
                    public void mouseExited(MouseEvent e) {}
                    public void mousePressed(MouseEvent e) {}
                    public void mouseReleased(MouseEvent e) {}
                    });

                    /*********************************************************************/

                    //conteneur du second onglet
                    JPanel onglet2 = new JPanel();
                    JLabel titreOnglet2 = new JLabel("Process2");
                    onglet2.add(titreOnglet2);
                    onglets.addTab("Database Operation", onglet2);
                    onglet2.setPreferredSize(new Dimension(900, 900));
                    onglet2.add(new JScrollPane(tab2));


                    //conteneur du troisième ongle-t
                    JPanel onglet3 = new JPanel();
                    JLabel titreOnglet3 = new JLabel("Process3");
                    onglet3.add(titreOnglet3);
                    onglets.addTab("Process Properties", onglet3);
                    onglet3.setPreferredSize(new Dimension(900, 900));
                    onglet3.add(new JScrollPane(tab3));

                    onglets.setOpaque(true);
                    pannel.add(onglets);
                    f.getContentPane().add(pannel);


                    pannel.revalidate();
                    pannel.repaint();


                    //taille de la fenêtre
                    f.setSize(1200, 1200);

                    f.repaint();

                    //Rendre la fenêtre visible
                    f.setVisible(true);

                    // Fermeture de la connexion

                    conn.close();



                    }
                    catch (SQLException ex) {
                    }
                    }

                    };

                    minuteur.schedule(tache, 0, 12000);
                    }
                    }
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 mars 2007 à 16:36:21

                      J'ai pas trop compris ce tu voulais mais voilà:

                      <code type="java"></code>

                      package oracle_cnn;

                      import java.util.Timer;
                      import java.util.TimerTask;
                      import javax.swing.*;
                      import javax.swing.event.*;
                      import java.awt.Dimension;
                      import java.sql.*;
                      import java.util.Vector;
                      import javax.swing.table.DefaultTableModel;
                      import java.util.Timer;
                      import java.util.TimerTask;
                      import java.awt.event.ActionListener;
                      import java.awt.event.ActionEvent;
                      import java.awt.event.MouseListener;
                      import java.awt.event.MouseEvent;
                      import com.sun.tools.doclets.standard.tags.SimpleTaglet;
                      import com.sun.corba.se.ActivationIDL.Server;





                      class test extends JPanel implements TableModelListener
                      {

                      public void tableChanged(TableModelEvent e)
                      { }

                      public static void main(String[] argv) throws SQLException {

                      Timer minuteur = new Timer();

                      //nouvelle fenêtre
                      final JFrame f = new JFrame("Application");


                      TimerTask tache = new TimerTask() {
                      public void run() {

                      f.setSize(1200, 1200);
                      JPanel pannel = new JPanel();

                      JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP);

                      /*********************************************************************************************/
                      /*****barre de menu****/

                      /* Création des composants */


                      JPanel panel1= new JPanel();
                      /* Bar de menu */
                      JMenuBar menu_bar1 = new JMenuBar();
                      /* différents menus */
                      JMenu menu1 = new JMenu("Fichier");
                      JMenu menu2 = new JMenu("Aide");
                      /* differents choix de chaque menu */
                      JMenuItem generalites = new JMenuItem("Généralités");
                      JMenuItem quitter = new JMenuItem("Quitter");
                      JMenuItem aide = new JMenuItem("Aide");

                      /* Ajout de composants aux conteneurs */

                      f.getContentPane().add(panel1,"South");
                      /* Ajouter les choix au menu */
                      menu1.add(generalites);
                      menu1.add(quitter);
                      menu2.add(aide);

                      /* Ajouter les menu sur la bar de menu */
                      menu_bar1.add(menu1);
                      menu_bar1.add(menu2);
                      /* Ajouter la bar du menu à la frame */
                      f.setJMenuBar(menu_bar1);


                      /* clic sur le choix Démarrer du menu fichier */
                      generalites.addActionListener(new ActionListener()
                      {
                      public void actionPerformed(ActionEvent e)
                      {
                      JFrame frame1= new JFrame("Présentation de l'application");
                      JPanel panel2= new JPanel();
                      JLabel texte = new JLabel() ;//On crée notre objet
                      texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                      texte.setText("................."); //On lui donne un texte
                      panel2.add(texte);//On l'ajoute au container
                      frame1.getContentPane().add(panel2);
                      frame1.setResizable(true);
                      frame1.setSize(200,200);
                      frame1.show();
                      frame1.setLocationRelativeTo(null);
                      }
                      });
                      /* clic sur le choix Fin du menu fichier */
                      aide.addActionListener(new ActionListener()
                      {
                      public void actionPerformed(ActionEvent e)
                      {
                      JFrame frame2= new JFrame("Aide");
                      JPanel panel3= new JPanel();
                      JLabel texte = new JLabel() ;//On crée notre objet
                      texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                      texte.setText("................."); //On lui donne un texte
                      panel3.add(texte);//On l'ajoute au container



                      frame2.getContentPane().add(panel3);
                      frame2.setResizable(true);
                      frame2.setSize(200,200);
                      frame2.show();
                      frame2.setLocationRelativeTo(null);}});

                      quitter.addActionListener(new ActionListener()
                      {
                      public void actionPerformed(ActionEvent e)
                      {
                      System.exit(0);
                      }});


                      /*****************************************************************************************/
                      /**** Connexion à la base *****/

                      // Charger le pilote Oracle
                      try {
                      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

                      // Connexion à la base de données
                      Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:ubixstg", "user", "Password");

                      // conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);


                      //Création d'un objet requête
                      Statement stmt = conn.createStatement ();

                      Statement stmt1 = conn.createStatement ();

                      Statement stmt2 = conn.createStatement ();

                      Statement stmt4 = conn.createStatement ();

                      Statement stmt3 = conn.createStatement ();
                      //Envoyer la requête et récupérer le résultat
                      ResultSet rset1 = stmt.executeQuery ("select col from tab1");

                      ResultSet rset2 = stmt1.executeQuery ("select col from tab2");

                      ResultSet rset5 = stmt2.executeQuery ("select col from tab3");

                      ResultSet rset4 = stmt3.executeQuery ("select col from tab4");

                      ResultSet rset6 = stmt4.executeQuery ("select col from tab5");


                      /*******************************************************************************/
                      /*** Affichage résultat requête 1 dans la table 1 ***/

                      Vector values = new Vector();
                      int i=1;
                      while(rset1.next() & rset2.next()) //& rset3.next())
                      {


                      Vector tab1 = new Vector();
                      tab1.add("Proc"+i); //on met le nom exact de la colonne affichée dans la base
                      //à refaire pour les autres colones
                      tab1.add(rset1.getString("col1"));
                      tab1.add(rset2.getString("col2"));
                      //tab1.add(rset3.getString("col3"));
                      values.addElement(tab1);
                      i++;
                      }
                      Vector names= new Vector();


                      names.addElement("titre1");
                      //a refaire pour plus de colone
                      names.addElement("titre2");
                      names.addElement("titre3");
                      names.addElement(titre4");

                      DefaultTableModel model = new DefaultTableModel (values,names){
                      public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                      {
                      return false;
                      }
                      };

                      JTable tab1 = new JTable(model);

                      tab1.setPreferredScrollableViewportSize(new Dimension(800, 800));

                      tab1.getTableHeader().setReorderingAllowed(false);

                      /****************************Affichage de la table2***********************************************/

                      Vector values1 = new Vector();

                      int j=1;
                      while(rset4.next())
                      {
                      Vector tab2 = new Vector();
                      tab2.add("Proc"+j);
                      tab2.add("");//rset1.getString("col1")); //on met le nom exact de la colonne affichée dans la base
                      //à refaire pour les autres colones
                      tab2.add("");//rset1.getString("col2"));
                      //tab2.add(rset4.getString("col3"));
                      values1.add(tab2);
                      j++;
                      }
                      Vector names1= new Vector();


                      names1.addElement("titre1");
                      //a refaire pour plus de colone
                      names1.addElement("titre2");
                      names1.addElement("titre3");
                      names1.addElement("titre4");

                      DefaultTableModel model1 = new DefaultTableModel (values1,names1){
                      public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                      {
                      return false;
                      }
                      };


                      JTable tab2 = new JTable(model1);

                      tab2.setPreferredScrollableViewportSize(new Dimension(800, 800));

                      tab2.getTableHeader().setReorderingAllowed(false);

                      /****************************Affichage de la table3***********************************************/

                      Vector values2 = new Vector();
                      int k=1;
                      while(rset5.next() & rset6.next())
                      {
                      Vector tab3 = new Vector();
                      tab3.add("Proc"+k);
                      tab3.add(rset5.getString("col1"));
                      //on met le nom exact de la colonne affichée dans la base
                      //à refaire pour les autres colones
                      tab3.add(rset6.getString("col2"));
                      tab3.add("");//rset1.getString("col3"));
                      values1.add(tab2);
                      k++;

                      values2.add(tab3);
                      }
                      Vector names2= new Vector();


                      names2.addElement("titre1");
                      //a refaire pour plus de colone
                      names2.addElement("titre2");
                      names2.addElement("titre3");
                      names2.addElement("titre4");

                      DefaultTableModel model2 = new DefaultTableModel (values2,names2){
                      public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                      {
                      return false;
                      }
                      };


                      JTable tab3 = new JTable(model2);

                      tab3.setPreferredScrollableViewportSize(new Dimension(800, 800));

                      tab3.getTableHeader().setReorderingAllowed(false);
                      /*******************************************************************************/

                      //conteneur du premier onglet
                      JPanel onglet1 = new JPanel();
                      JLabel titreOnglet1 = new JLabel("Process1");
                      onglet1.add(titreOnglet1);
                      onglet1.setPreferredSize(new Dimension(900, 900));
                      onglets.addTab("Running Process", onglet1);
                      onglet1.add(new JScrollPane(tab1));

                      /********************Gérer les doubles clics au niveau de la table1**************************/

                      tab1.addMouseListener(new MouseListener() {
                      public void mouseClicked(MouseEvent e) {
                      if (e.getClickCount() == 2) {
                      //code à exécuter


                      JFrame fen = new JFrame("Fenêtre");
                      fen.setSize(600,300);
                      fen.setLocationRelativeTo(null);
                      fen.setVisible(true);

                      }
                      }

                      public void mouseEntered(MouseEvent e) {}
                      public void mouseExited(MouseEvent e) {}
                      public void mousePressed(MouseEvent e) {}
                      public void mouseReleased(MouseEvent e) {}
                      });

                      /*********************************************************************/

                      //conteneur du second onglet
                      JPanel onglet2 = new JPanel();
                      JLabel titreOnglet2 = new JLabel("Process2");
                      onglet2.add(titreOnglet2);
                      onglets.addTab("Database Operation", onglet2);
                      onglet2.setPreferredSize(new Dimension(900, 900));
                      onglet2.add(new JScrollPane(tab2));


                      //conteneur du troisième ongle-t
                      JPanel onglet3 = new JPanel();
                      JLabel titreOnglet3 = new JLabel("Process3");
                      onglet3.add(titreOnglet3);
                      onglets.addTab("Process Properties", onglet3);
                      onglet3.setPreferredSize(new Dimension(900, 900));
                      onglet3.add(new JScrollPane(tab3));

                      onglets.setOpaque(true);
                      pannel.add(onglets);
                      f.getContentPane().add(pannel);


                      pannel.revalidate();
                      pannel.repaint();


                      //taille de la fenêtre
                      f.setSize(1200, 1200);

                      f.repaint();

                      //Rendre la fenêtre visible
                      f.setVisible(true);

                      // Fermeture de la connexion

                      conn.close();



                      }
                      catch (SQLException ex) {
                      }
                      }

                      };

                      minuteur.schedule(tache, 0, 12000);
                      }
                      }
                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 mars 2007 à 16:42:10

                        Désolée mais j'ai vraiment pas fait d'attention:


                        package oracle_cnn;
                         
                        import java.util.Timer;
                        import java.util.TimerTask;
                        import javax.swing.*;
                        import javax.swing.event.*;
                        import java.awt.Dimension;
                        import java.sql.*;
                        import java.util.Vector;
                        import javax.swing.table.DefaultTableModel;
                        import java.util.Timer;
                        import java.util.TimerTask;
                        import java.awt.event.ActionListener;
                        import java.awt.event.ActionEvent;
                        import java.awt.event.MouseListener;
                        import java.awt.event.MouseEvent;
                        import com.sun.tools.doclets.standard.tags.SimpleTaglet;
                        import com.sun.corba.se.ActivationIDL.Server;
                         
                         
                         
                         
                         
                        class test extends JPanel implements TableModelListener
                        {
                         
                        public void tableChanged(TableModelEvent e)
                        { }
                         
                        public static void main(String[] argv) throws SQLException {
                         
                        Timer minuteur = new Timer();
                         
                        //nouvelle fenêtre
                        final JFrame f = new JFrame("Application");
                         
                         
                        TimerTask tache = new TimerTask() {
                        public void run() {
                         
                        f.setSize(1200, 1200);
                        JPanel pannel = new JPanel();
                         
                        JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP);
                         
                        /*********************************************************************************************/
                        /*****barre de menu****/
                         
                        /* Création des composants */
                         
                         
                        JPanel panel1= new JPanel();
                        /* Bar de menu */
                        JMenuBar menu_bar1 = new JMenuBar();
                        /* différents menus */
                        JMenu menu1 = new JMenu("Fichier");
                        JMenu menu2 = new JMenu("Aide");
                        /* differents choix de chaque menu */
                        JMenuItem generalites = new JMenuItem("Généralités");
                        JMenuItem quitter = new JMenuItem("Quitter");
                        JMenuItem aide = new JMenuItem("Aide");
                         
                        /* Ajout de composants aux conteneurs */
                         
                        f.getContentPane().add(panel1,"South");
                        /* Ajouter les choix au menu */
                        menu1.add(generalites);
                        menu1.add(quitter);
                        menu2.add(aide);
                         
                        /* Ajouter les menu sur la bar de menu */
                        menu_bar1.add(menu1);
                        menu_bar1.add(menu2);
                        /* Ajouter la bar du menu à la frame */
                        f.setJMenuBar(menu_bar1);
                         
                         
                        /* clic sur le choix Démarrer du menu fichier */
                        generalites.addActionListener(new ActionListener()
                        {
                        public void actionPerformed(ActionEvent e)
                        {
                        JFrame frame1= new JFrame("Présentation de l'application");
                        JPanel panel2= new JPanel();
                        JLabel texte = new JLabel() ;//On crée notre objet
                        texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                        texte.setText("................."); //On lui donne un texte
                        panel2.add(texte);//On l'ajoute au container
                        frame1.getContentPane().add(panel2);
                        frame1.setResizable(true);
                        frame1.setSize(200,200);
                        frame1.show();
                        frame1.setLocationRelativeTo(null);
                        }
                        });
                        /* clic sur le choix Fin du menu fichier */
                        aide.addActionListener(new ActionListener()
                        {
                        public void actionPerformed(ActionEvent e)
                        {
                        JFrame frame2= new JFrame("Aide");
                        JPanel panel3= new JPanel();
                        JLabel texte = new JLabel() ;//On crée notre objet
                        texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
                        texte.setText("................."); //On lui donne un texte
                        panel3.add(texte);//On l'ajoute au container
                         
                         
                         
                        frame2.getContentPane().add(panel3);
                        frame2.setResizable(true);
                        frame2.setSize(200,200);
                        frame2.show();
                        frame2.setLocationRelativeTo(null);}});
                         
                        quitter.addActionListener(new ActionListener()
                        {
                        public void actionPerformed(ActionEvent e)
                        {
                        System.exit(0);
                        }});
                         
                         
                        /*****************************************************************************************/
                        /**** Connexion à la base *****/
                         
                        // Charger le pilote Oracle
                        try {
                        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
                         
                        // Connexion à la base de données
                        Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:ubixstg", "user", "Password");
                         
                        // conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
                         
                         
                        //Création d'un objet requête
                        Statement stmt = conn.createStatement ();
                         
                        Statement stmt1 = conn.createStatement ();
                         
                        Statement stmt2 = conn.createStatement ();
                         
                        Statement stmt4 = conn.createStatement ();
                         
                        Statement stmt3 = conn.createStatement ();
                        //Envoyer la requête et récupérer le résultat
                        ResultSet rset1 = stmt.executeQuery ("select col from tab1");
                         
                        ResultSet rset2 = stmt1.executeQuery ("select col from tab2");
                         
                        ResultSet rset5 = stmt2.executeQuery ("select col from tab3");
                         
                        ResultSet rset4 = stmt3.executeQuery ("select col from tab4");
                         
                        ResultSet rset6 = stmt4.executeQuery ("select col from tab5");
                         
                         
                        /*******************************************************************************/
                        /*** Affichage résultat requête 1 dans la table 1 ***/
                         
                        Vector values = new Vector();
                        int i=1;
                        while(rset1.next() & rset2.next()) //& rset3.next())
                        {
                         
                         
                        Vector tab1 = new Vector();
                        tab1.add("Proc"+i); //on met le nom exact de la colonne affichée dans la base
                        //à refaire pour les autres colones
                        tab1.add(rset1.getString("col1"));
                        tab1.add(rset2.getString("col2"));
                        //tab1.add(rset3.getString("col3"));
                        values.addElement(tab1);
                        i++;
                        }
                        Vector names= new Vector();
                         
                         
                        names.addElement("titre1");
                        //a refaire pour plus de colone
                        names.addElement("titre2");
                        names.addElement("titre3");
                        names.addElement(titre4");
                         
                        DefaultTableModel model = new DefaultTableModel (values,names){
                        public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                        {
                        return false;
                        }
                        };
                         
                        JTable tab1 = new JTable(model);
                         
                        tab1.setPreferredScrollableViewportSize(new Dimension(800, 800));
                         
                        tab1.getTableHeader().setReorderingAllowed(false);
                         
                        /****************************Affichage de la table2***********************************************/
                         
                        Vector values1 = new Vector();
                         
                        int j=1;
                        while(rset4.next())
                        {
                        Vector tab2 = new Vector();
                        tab2.add("
                        Proc"+j);
                        tab2.add("
                        ");//rset1.getString("col1")); //on met le nom exact de la colonne affichée dans la base
                        //à refaire pour les autres colones
                        tab2.add("
                        ");//rset1.getString("col2"));
                        //tab2.add(rset4.getString("
                        col3"));
                        values1.add(tab2);
                        j++;
                        }
                        Vector names1= new Vector();
                         
                         
                        names1.addElement("
                        titre1");
                        //a refaire pour plus de colone
                        names1.addElement("
                        titre2");
                        names1.addElement("
                        titre3");
                        names1.addElement("
                        titre4");
                         
                        DefaultTableModel model1 = new DefaultTableModel (values1,names1){
                        public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                        {
                        return false;
                        }
                        };
                         
                         
                        JTable tab2 = new JTable(model1);
                         
                        tab2.setPreferredScrollableViewportSize(new Dimension(800, 800));
                         
                        tab2.getTableHeader().setReorderingAllowed(false);
                         
                        /****************************Affichage de la table3***********************************************/
                         
                        Vector values2 = new Vector();
                        int k=1;
                        while(rset5.next() & rset6.next())
                        {
                        Vector tab3 = new Vector();
                        tab3.add("
                        Proc"+k);
                        tab3.add(rset5.getString("
                        col1"));
                        //on met le nom exact de la colonne affichée dans la base
                        //à refaire pour les autres colones
                        tab3.add(rset6.getString("
                        col2"));
                        tab3.add("
                        ");//rset1.getString("col3"));
                        values1.add(tab2);
                        k++;
                         
                        values2.add(tab3);
                        }
                        Vector names2= new Vector();
                         
                         
                        names2.addElement("
                        titre1");
                        //a refaire pour plus de colone
                        names2.addElement("
                        titre2");
                        names2.addElement("
                        titre3");
                        names2.addElement("
                        titre4");
                         
                        DefaultTableModel model2 = new DefaultTableModel (values2,names2){
                        public boolean isCellEditable(int iRowIndex, int iColumnIndex)
                        {
                        return false;
                        }
                        };
                         
                         
                        JTable tab3 = new JTable(model2);
                         
                        tab3.setPreferredScrollableViewportSize(new Dimension(800, 800));
                         
                        tab3.getTableHeader().setReorderingAllowed(false);
                        /*******************************************************************************/
                         
                        //conteneur du premier onglet
                        JPanel onglet1 = new JPanel();
                        JLabel titreOnglet1 = new JLabel("
                        Process1");
                        onglet1.add(titreOnglet1);
                        onglet1.setPreferredSize(new Dimension(900, 900));
                        onglets.addTab("
                        Running Process", onglet1);
                        onglet1.add(new JScrollPane(tab1));
                         
                        /********************Gérer les doubles clics au niveau de la table1**************************/
                         
                        tab1.addMouseListener(new MouseListener() {
                        public void mouseClicked(MouseEvent e) {
                        if (e.getClickCount() == 2) {
                        //code à exécuter
                         
                         
                        JFrame fen = new JFrame("
                        Fenêtre");
                        fen.setSize(600,300);
                        fen.setLocationRelativeTo(null);
                        fen.setVisible(true);
                         
                        }
                        }
                         
                        public void mouseEntered(MouseEvent e) {}
                        public void mouseExited(MouseEvent e) {}
                        public void mousePressed(MouseEvent e) {}
                        public void mouseReleased(MouseEvent e) {}
                        });
                         
                        /*********************************************************************/
                         
                        //conteneur du second onglet
                        JPanel onglet2 = new JPanel();
                        JLabel titreOnglet2 = new JLabel("
                        Process2");
                        onglet2.add(titreOnglet2);
                        onglets.addTab("
                        Database Operation", onglet2);
                        onglet2.setPreferredSize(new Dimension(900, 900));
                        onglet2.add(new JScrollPane(tab2));
                         
                         
                        //conteneur du troisième ongle-t
                        JPanel onglet3 = new JPanel();
                        JLabel titreOnglet3 = new JLabel("
                        Process3");
                        onglet3.add(titreOnglet3);
                        onglets.addTab("
                        Process Properties", onglet3);
                        onglet3.setPreferredSize(new Dimension(900, 900));
                        onglet3.add(new JScrollPane(tab3));
                         
                        onglets.setOpaque(true);
                        pannel.add(onglets);
                        f.getContentPane().add(pannel);
                         
                         
                        pannel.revalidate();
                        pannel.repaint();
                         
                         
                        //taille de la fenêtre
                        f.setSize(1200, 1200);
                         
                        f.repaint();
                         
                        //Rendre la fenêtre visible
                        f.setVisible(true);
                         
                        // Fermeture de la connexion
                         
                        conn.close();
                         
                         
                         
                        }
                        catch (SQLException ex) {
                        }
                        }
                         
                        };
                         
                        minuteur.schedule(tache, 0, 12000);
                        }
                        }
                        --------------------------------------------------------------------------------
                         
                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 mars 2007 à 21:54:43

                          sans rire je lavais édité avant que tu le fasses !!
                          ça ne te choque pas tout ce code rouge en bas ???
                          manque une " que j'ai rajouté dans une reponse
                          je jete un coup d'oeil ce week-end !
                          ++
                          ameliep
                          • Partager sur Facebook
                          • Partager sur Twitter
                            30 mars 2007 à 15:55:14

                            Salut!

                            J'ai trouvé la solution suivante :


                            ...
                            public static void main(String[] args) {
                              // construction de l'interface
                              JFrame f = new JFrame(...);
                              final DefaultTableModel model1 = new DefaultTableModel(...);
                              ...
                              JTable table1 = new JTable(model1);
                              ...
                              // on affiche l'interface. Pour l'instant les tables sont vides.
                              f.setVisible(true);
                             
                              // on lance la tache repetitive
                              TimerTask task = new TimerTask() {
                                public void actionPerformed() {
                                  // connexion a la BDD
                                   ...
                                  // modification des donnees des DefaultTableModels
                                  ...
                                  model1.setDataVector(...); // cette methode rafraichit automatiquement l'affichage de table1
                                }
                              });
                              Timer timer = new Timer();
                              timer.schedule(task, ...);
                            }


                            qui marche (la table se réactualise en temps réel) mais un problème persiste:à chaque fois que la table est réactualisée il y a ajout de la nouvelle ligne en plus des précédentes (càd que les anciennes lignes ne sont pas supprimées) ce qui encombre les tables!!

                            Quelqu'un aurait il une idée sur la façon de supprimer à chaque réactualisation les anciennes lignes et de ne laisser que les nouvelles.

                            Merci pour votre aide!!
                            • Partager sur Facebook
                            • Partager sur Twitter
                              30 mars 2007 à 17:40:51

                              salut !
                              en fait lorsque tu fait appel à l'affichage et que tu vas chercher tes données issues de ta bd tu lui passes en parametre ton defaulttablemodel.
                              et tu boucles pour supprimer toutes les lignes (méthode removeRow() je crois)
                              ensuite tu affiche normalement !
                              c'est ce que j'avais fait pour un vieux truc !
                              bon courage !
                              ++
                              ameliep
                              • Partager sur Facebook
                              • Partager sur Twitter
                                2 avril 2007 à 9:49:03

                                Bonjour!!

                                J'ai utilisé la méthode removeRow() mais elle ne marche pas:il n'y a plus du tout d'affichage!

                                voici le code que j'ai utilisé:


                                for (int k=0;k<=talle_ResultSet;k++)
                                           {model2.removeRow(k);}


                                Est ce que quelqu'un pourrait il être plus explicite à propos de l'utilisation de cette méthode!!

                                Merci pour votre aide!
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  2 avril 2007 à 12:32:07

                                  où as tu utilisé ce code ?
                                  tu as bien reappeler ta méthode pour afficher ensuite ?
                                  montre le contexte de ton code parce que juste comme ça ton code est bon et je peut pas vraiment t'aider !
                                  ++
                                  ameliep
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    2 avril 2007 à 13:23:59

                                    Salut!!

                                    j'ai utilisé ce code juste avant:


                                    while(rset1.next() & rset2.next()) //& rset3.next())
                                    {
                                     
                                     
                                    Vector tab1 = new Vector();
                                    tab1.add("Proc"+i); //on met le nom exact de la colonne affichée dans la base
                                    //à refaire pour les autres colones
                                    tab1.add(rset1.getString("col1"));
                                    tab1.add(rset2.getString("col2"));
                                    //tab1.add(rset3.getString("col3"));
                                    values.addElement(tab1);
                                    i++;
                                    }

                                    Que veux tu dire par réappeler la méthode pour réafficher après??

                                    N'hésite pas si tu as besoin d'autres explications

                                    Merci pour ton aide!!!
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      2 avril 2007 à 13:57:40

                                      je voies sa dans la semaine !
                                      peux tu me dire comment tu ajoute une ligne dans ta jtable ??
                                      en gros la méthode ajouterligne a quel type de retour ???
                                      merci
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        2 avril 2007 à 14:12:40

                                        c'est la méthode tab.add(object) qui a comme type de retour boolean.

                                        Merci!!
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          3 avril 2007 à 15:26:13

                                          Salut!!

                                          j'ai bien testé toutes les méthodes relatives au modèle de données et j'ai obtenu ce code qui marche bien:


                                           <gras>while (model.getRowCount()!=0){
                                                         model.removeRow(0);
                                                         }</gras>
                                                      int i=1;
                                                      while(rset1.next())// & rset2.next())
                                                        {
                                                           Vector tab1 = new Vector();
                                                           tab1.add("Proc"+i)//on met le nom exact de la colonne affichée dans la base
                                                           //à refaire pour les autres colones
                                                           tab1.add(rset1.getString("col1"));
                                                           tab1.add(rset1.getString("col2"));
                                                           tab1.add(rset1.getString("col3"));
                                                           values.addElement(tab1);
                                                           i++;
                                                       }



                                          Merci à tous pour votre aide si précieuse!!
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            3 avril 2007 à 17:25:47

                                            La JTabble à beaucoup changée avec java 6...
                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            accès temps réel

                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                            • Editeur
                                            • Markdown