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

JDBC Java Discussion :

timer + jframe


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut timer + jframe
    Bonjour!!

    Je voudrais réactualiser l'affichage d'informations d'une BD dans une jtable qui est affichée dans une fenêtre toute les n secondes, pour cela j'utilise un timer mais le problème est que si je mets tout mon code dans la méthode run() du timer :plusieurs fenêtres s'affichent et sinon (si je ne mets que la requête d'accès à la base de données et l'affichage de la table):certaines variables (panel, jframe...) ne sont plus reconnus.

    aidez moi svp c'est très important pour moi!!!

    Voivi le code que j'utilise:

    package mon_package;

    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;

    public class test1 {

    public static void main(String[] args) {
    Timer minuteur = new Timer();

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

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


    /*******************************************************************************/
    TimerTask tache = new TimerTask() {
    public void run() {
    System.out.println("coucou !");

    // Connexion à la base de données
    Connection conn = null;
    try {
    conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:nom_base", "login", "password");
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery ("select * from table");

    // Affichage du résultat

    Vector values = new Vector();
    while(rset.next())
    {
    Vector tab = new Vector();
    tab.add(rset.getString("col1")); //on met le nom exact de la colonne affichée dans la base
    //a refaire pour les autres colones
    tab.add(rset.getString("col2"));
    tab.add(rset.getString("col3"));
    values.add(tab);
    }
    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);

    JTable tab1 = new JTable(model);

    JPanel pan = new JPanel();
    //Définition de la taille du tableau
    tab1.setPreferredScrollableViewportSize(new Dimension(1000, 600));



    //Ajout d'une scrollBar en cas de dépassement de la dimension
    pan.add(new JScrollPane(tab1));

    //nouvelle fenêtre
    JFrame fen = new JFrame();

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

    //Ajout du JPanel a la JFrame
    fen.setContentPane(pan);
    }
    catch (SQLException ex) {
    }


    }
    };
    minuteur.schedule(tache, 0, 1000);
    }
    }

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 193
    Par défaut
    Salut!!

    J'ai mis tout mon code (excepté la création de la fenêtre principale) dans la méthode run du timer et ça a l'air de bien marché.

    Après à vous de me dire si c'est une bonne solution ou pas et s'il y a des cas ou ça marche pas vraiment!

    Merci pour votre aide!

Discussions similaires

  1. Appel d'un timer dans une JFrame
    Par rolls dans le forum NetBeans
    Réponses: 2
    Dernier message: 13/09/2012, 09h17
  2. [horloge] conflit caractère / timer
    Par JeanJean dans le forum C
    Réponses: 10
    Dernier message: 09/05/2003, 23h47
  3. [] [Réseau] Anti-timer, anti-idle
    Par clonevince dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 15/01/2003, 22h19
  4. Timer de précision
    Par guigui dans le forum MFC
    Réponses: 1
    Dernier message: 04/12/2002, 15h21
  5. Timer en µsecondes
    Par Dagobert dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 25/11/2002, 00h59

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