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 :
Et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.window = getWindowConfigurer().getWindow(); this.window.getShell().setVisible(false);
Dans les deux cas il y a aussi le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ApplicationWorkbenchWindowAdvisor.this.window.getShell().setMinimized(true);
Le résultat est le même dans les deux cas, la fenêtre apparait au démarrage (une petite seconde), puis disparait.
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); } } });
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
Partager