interface SWT se freeze ?!
salut,
je débute en java swt et j'éssaye de programmer un client qui se connecte à un serveur irc.
à la réception des données l'interface se fige.
voilà mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Button ConnBtn = new Button(group, SWT.NONE);
ConnBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
try {
int Port = Integer.parseInt(PortTxt.getText());
try {
LaSocket = new Socket(ServeurTxt.getText(),Port);
String DonneesEnvoyees = "NICK BOT\r\nUSER BOT BOT BOT :BOTTEST\r\n";
OutPut = LaSocket.getOutputStream();
InPut = LaSocket.getInputStream();
bOStream = new BufferedOutputStream(OutPut);
bIStream = new BufferedInputStream(InPut);
bOStream.write(DonneesEnvoyees.getBytes());
bOStream.flush();
b = new byte[256];
bitsRecus = 0;
while((bitsRecus = bIStream.read(b)) >= 0)
LogTxt.setText(LogTxt.getText()+"Recu : " + new String(b,0, bitsRecus)+"\n");
bOStream.close();
bIStream.close();
LaSocket.close();
} catch (UnknownHostException e1) {
LogTxt.setText(LogTxt.getText()+"Serveur inconnu !! \n");
} catch (IOException e1) {
LogTxt.setText(LogTxt.getText()+"Entrée non valide\n");
}
}catch(NumberFormatException Erreur) {
LogTxt.setText(LogTxt.getText()+"Donner un numéro de port valide !!\n");
}
}
}); |
j'ai essayé avec les threads, qui est un nouveau monde pour moi. d'aprés ce que j'ai compris que les autres threads creées ne doivent pas toucher aux composantes de l'ui thread. j'ai testé plusieurs exemples mais ça reste toujours figer.
s'il vous plaît est ce que quelqu'un peut m'aider là-dessus
merci :)