Bonjour,

Je débute avec swt, et j'ai un problème tout simple ( enfin, j'espère )!
Je voudrais qu'à l'ouverture de mon application la fenêtre principale soit invisible (juste une tray icône affichée permettant de rendre la fenêtre visible en cliquant dessus).

J'ai essayé deux bouts de codes dans la méthode postWindowOpen() de la classe ApplicationWorkbenchWindowAdvisor :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
this.window = getWindowConfigurer().getWindow();
    	this.window.getShell().setVisible(false);
Et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ApplicationWorkbenchWindowAdvisor.this.window.getShell().setMinimized(true);
Dans les deux cas il y a aussi le code :

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
 
this.window.getShell().addShellListener(new ShellAdapter() {
			@Override
			public void shellIconified(ShellEvent e) {
				ApplicationWorkbenchWindowAdvisor.this.window.getShell().setVisible(false);
			}
		});
 
		this.trayItem.addListener(SWT.DefaultSelection, new Listener() {
			public void handleEvent(Event event) {
				Shell shell = ApplicationWorkbenchWindowAdvisor.this.window.getShell();
				if (!shell.isVisible()) {
					shell.setVisible(true);
					ApplicationWorkbenchWindowAdvisor.this.window.getShell().setMinimized(false);
				}
			}
		});
Le résultat est le même dans les deux cas, la fenêtre apparait au démarrage (une petite seconde), puis disparait.
Pour que la fenêtre n'apparaisse pas du tout, j'ai essayé de fouiller un peu dans la méthode preWindowOpen() qui me semble plus adaptée, mais je n'ai rien trouvé pour définir ce paramètre de la fenêtre.

Quelqu'un saurait il comment faire ça? ça me semble pas sorcier il doit bien y avoir un moyen, j'ai du passer à côté de quelque chose !

Merci