Bonjour à tous !

Je suis en train de coder un client SSH en java à l'aide de la libriaire Jsch !
J'ai un soucis avec une des focntions que je veux dévolepper, je m'explique :
Je souhaite avoir une box qui me donne l'état de la connexion ssh (connecté, déconnecté, ...). Pour cela j'ai pensé à utiliser les listeners (notion que je découver en même temps).
J'ai lu plusieurs tutos et sujet sur différents forum, notament :
http://rom.developpez.com/java-listeners/
http://java.developpez.com/faq/gui/?...eners_Methode1
Mais j'ai du mal à comprendre le truc

Mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public interface StateListener extends EventListener {
 
	void stateModified(Boolean oldState, Boolean newState);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
public class Fenetre extends JFrame implements StateListener {
 
	private JPanel container = new JPanel();
	private static Console console = new Console();
	private JScrollPane scroll = new JScrollPane(console);
	private JTextArea logBox = new JTextArea();
	private JScrollPane scroll2 = new JScrollPane(logBox);
 
	private GridBagLayout layout = new GridBagLayout();
	private GridBagConstraints gbc = new GridBagConstraints();
 
	public Console() throws IOException{
 
		// Config Fenêtre
 
		console .addListener(this);
		// Config JTextArea Console
		// Config JTextArea Log
 
		// Config Container
 
		// Config GriBagLayout
 
		logBox.append("Connexion en cours ...\n");
 
		this.setContentPane(container);
		this.setVisible(true);
 
	}
 
	@Override
	public void stateModified(Boolean oldState, Boolean newState) {
 
		if(oldState != newState) 
		{
			if(newState)
			{
				logBox.append("Connecté ...");
			}
			else logBox.append("Déconnecté ...");
 
		}
	}
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
53
54
55
56
57
58
59
60
61
62
63
 
 
public class Console extends JTextArea {
 
	private JSch jsch = new JSch();
	private Channel channel;
	private user;
	private host;
	private port;
	private password;
 
	private Thread t;
 
	List<StateListener> listener = new ArrayList<StateListener>();
	private Boolean n = false;
	private Boolean o = false;
 
	public Console(String fileName){
 
		user = "*****";			
		host = "*****";	
		port = "*****";	
		password = "*****";	
 
		t = new Thread( new  Lancer());
		t.start();
	}
 
 
	public void connecter() throws IOException, JSchException{
 
		// Configuration connexion Jsch
 
	} 
 
 
	public void addListener(StateListener Listener){
		listener.add(Listener);
	}
 
	public void getState(){
 
		n = (channel != null && channel.isConnected());
 
			for(StateListener sl : listener)
			{
				sl.stateModified(o, n);
			}
		o = n;		
	}
	class Lancer implements Runnable { // Utilisation des threads
 
		public void run() {
			try {
 
				connecter();
 
			} catch (IOException | JSchException e) {
				e.printStackTrace();
			}
		}
	}
}
Je sais pas si vous avez compris quelque chose mais si il y a besoin de plus de renseignement je les rajouterais
J'espère que vous pourrez me faire comprendre ce qui m'échappe =)

Merci d'avance les amis !

Julian