comment separé l affichage du traitement [java] - Java - Programmation
Marsh Posté le 10-05-2002 à 13:54:25
Si tu lis un peu les specs ou bien le modèle d'évenement en général, tu remarqueras assez vite qu'on insiste sur le fait qu'il faut faire un minimum de choses dans une méthode qui réagit à un évenemenet (comme par exemple actionPerformed).
Dans ton cas tu dois avoir un process // (Thread) qui s'occupe de se connecter à ta BD.
Marsh Posté le 10-05-2002 à 13:58:51
DarkLord a écrit a écrit : Si tu lis un peu les specs ou bien le modèle d'évenement en général, tu remarqueras assez vite qu'on insiste sur le fait qu'il faut faire un minimum de choses dans une méthode qui réagit à un évenemenet (comme par exemple actionPerformed). Dans ton cas tu dois avoir un process // (Thread) qui s'occupe de se connecter à ta BD. |
merci de ta reponse
je doit ajouter ceci:
il n y a qu un bouton donc un seul evenement possible ( c une interface tres simple)
puis j ai ajouter ca a mon code
public void run()
{
while(true)
{
if(!dbCon.isConnected())
{
System.out.print("Connection impossible au serveur "+ host);
return;
}
else
{
//traitement en consequence...
}
try
{ runner.sleep((int)(Math.random()*1000));
}
catch(InterruptedException e) { }
}
}
et j ai ajouter ca au Actionperformed
runner=new Thread (this);
runner.start();
ca marche toujours pas: le fenetre reste grise lorsque c trop long ou que j ai pas le bon "host"
c est ou que ca cloche?
Marsh Posté le 10-05-2002 à 14:00:55
tu dois créer ton thread avant et simplement appeler start dans actionPerformed.
De plus tu dois créer un objet séparé qui implémenter Runnable puis faire
Thread t = new Thread(new TonOjbet(TesParams));
puis dans ton actionPerformed
t.start();
mais sans savoir ce que ca fait je ne sais pas plus t'aider
Marsh Posté le 10-05-2002 à 14:12:17
mais la methode run reste la meme donc si j ai bine compris sauf qu elle se trouve ds un objet heritant de Thread?
Marsh Posté le 10-05-2002 à 14:22:49
oui mais tu transforme ton obj en thread
Marsh Posté le 10-05-2002 à 14:37:05
bon en gros le schema ...
un objet qui extends Thread ou implements Runnable
et qui dans la methode run realise la connexion
dans ta methode actionPerformed tu appelles juste la methode start de ton objet
Marsh Posté le 10-05-2002 à 14:44:14
HappyHarry a écrit a écrit : bon en gros le schema ... un objet qui extends Thread ou implements Runnable et qui dans la methode run realise la connexion dans ta methode actionPerformed tu appelles juste la methode start de ton objet |
c mot pour mot ce que j ai fait! mon objet etend Runnable!
darklord>>pourquoi créer un thread? implementé Runnable revien au meme ds mon cas non?
Marsh Posté le 10-05-2002 à 14:45:11
bin gros malin, si l'objet qui réagit à actionPerformed est le meme que celui qui implémente Runnable (en d'autres termes new Thread(this)
je ne vois pas l'intéret de faire un thread
Marsh Posté le 10-05-2002 à 14:49:48
regarde la javadoc de Thread ... elle est bien explicite.
en gros : c'est le Thread qui gère tout le mécanisme. les Runnable c'est juste le code que tu vas executer à l'intérieur du thread.
Marsh Posté le 10-05-2002 à 14:53:33
DarkLord a écrit a écrit : bin gros malin, si l'objet qui réagit à actionPerformed est le meme que celui qui implémente Runnable (en d'autres termes new Thread(this) je ne vois pas l'intéret de faire un thread |
.
je ne comprend pas tout excuse moi pour ne pas avoir la science infuse
vous etes des pros et vous m aider c vraiment sympa de votre part mais vous poouvez pas m en vouloir de pas comprendre,je fait des efforts!
Marsh Posté le 10-05-2002 à 15:01:19
je dis. Si tu as un objet A qui répond à un évenement de type click de souris, on t'explique que tu dois déléguer cette tache lourd à un composant séparé (soir un Objet B qui fait ca en parralèle --> Thread)
Or toi ce que tu fais c'est un objet qui:
1. Implemente la méthode actionPerformed
2. Implemente Runnable
-> A et B chez toi c'est le meme objet donc tu ne délègues que dale.
Est ce plus clair?
Marsh Posté le 10-05-2002 à 15:03:38
Citation : |
http://java.sun.com/docs/books/tut [...] event.html
Marsh Posté le 10-05-2002 à 15:06:06
Super
j en apprend beaucoup!
en fait j apprend le java mais je n ai pas de prof je fait avec les tuts du net
merci pour le lien
Marsh Posté le 10-05-2002 à 15:09:17
heink a écrit a écrit : . je ne comprend pas tout excuse moi pour ne pas avoir la science infuse vous etes des pros et vous m aider c vraiment sympa de votre part mais vous poouvez pas m en vouloir de pas comprendre,je fait des efforts! |
Je te présente DarkLord, l'ami des newbies...
Regarde un coup adns la javadoc la class Thread. Tu y trouveras toutes les infos.
Après, si y a un truc que tu comprends pas, demande ...
Marsh Posté le 10-05-2002 à 15:16:48
benou a écrit a écrit : Je te présente DarkLord, l'ami des newbies... Regarde un coup adns la javadoc la class Thread. Tu y trouveras toutes les infos. Après, si y a un truc que tu comprends pas, demande ... |
merci c super sympa
Marsh Posté le 10-05-2002 à 15:20:44
benou a écrit a écrit : Je te présente DarkLord, l'ami des newbies... |
it's me
Marsh Posté le 10-05-2002 à 15:22:26
DarkLord a écrit a écrit : it's me |
allez, fait pas la tronche ... c'est bientot le weekend !
Marsh Posté le 10-05-2002 à 15:32:13
DarkLord a écrit a écrit : it's me |
fais pas ton gros vilain dark
Marsh Posté le 10-05-2002 à 15:33:49
benou a écrit a écrit : allez, fait pas la tronche ... c'est bientot le weekend ! |
trop tard, tu m'as vexé. Et ton pdf sur la crypto tu peux te le mettre ou je pense
Marsh Posté le 10-05-2002 à 18:21:23
DarkLord a écrit a écrit : trop tard, tu m'as vexé. Et ton pdf sur la crypto tu peux te le mettre ou je pense |
dark il est pas gentil avec moi
Marsh Posté le 10-05-2002 à 18:22:15
ah bin je suis chez moi justement
wait je regarde tout de suite.
Marsh Posté le 10-05-2002 à 18:23:43
DarkLord a écrit a écrit : ah bin je suis chez moi justement wait je regarde tout de suite. |
cool !
sinon, heink, tu t'en es sortit avec ton problème ?
Marsh Posté le 10-05-2002 à 18:27:44
yes merci
Marsh Posté le 10-05-2002 à 18:30:19
pour l'instant je n'ai retrouvé qu'un travail sur PGP et il brosse pas mal de choses concernant l'infrastructure PKI
http://www.info.fundp.ac.be/~snicoll/crypto/PGP.doc
Marsh Posté le 10-05-2002 à 18:49:48
DarkLord a écrit a écrit : pour l'instant je n'ai retrouvé qu'un travail sur PGP et il brosse pas mal de choses concernant l'infrastructure PKI http://www.info.fundp.ac.be/~snicoll/crypto/PGP.doc |
Je prend. merci.
t'embêtes pas si tu retrouves pas, hein. Je peux chercher tout seul !
Marsh Posté le 10-05-2002 à 13:45:48
j ai un programme qui se connecte a une base a distance le probleme c que lorsqu il met du temp a se connecter , la frame devien grise.. on m a dit qu il falait créer un thread different pour l affichage et un autre pour le traitement ...
c bien bo tout ca mais je vois pas comment je peux faire pour mettre une boucle ds la partie qui se connecte:
public void actionPerformed(ActionEvent e)
{
host=hostField.getText();
user =loginField.getText();
pass = new String (passField.getPassword());
base = baseField.getText();
apres j ai la connexion proprement dite...
}
c quoi que je doit changer ? chui paumé la
[jfdsdjhfuetppo]--Message édité par heink le 10-05-2002 à 13:47:15--[/jfdsdjhfuetppo]
---------------
:heink: :heink: :heink: :heink: :heink: :heink: :heink: :heink: :heink: :heink: