Attualmente sto sviluppando un'applicazione java SWT su Windows 7. Generalmente l'applicazione sarà ridotta a icona e quando c'è un evento sulla porta seriale l'applicazione dovrebbe massimizzarsi. Il codice seguente fa la parte di massimizzazione.Applicazione SWT Java - Porta in primo piano
private void bringToFront(final Shell shell) {
shell.getDisplay().asyncExec(new Runnable() {
public void run() {
if(!shell.getMaximized()){
shell.setMaximized(true);
}
shell.forceActive();
}
});
}
Ma a volte l'applicazione SWT è ingrandita dietro un'altra applicazione. Ad esempio, se ho un powerpoint in esecuzione in modalità Schermo intero, l'applicazione massimizzata è dietro la presentazione di PowerPoint. Mi piacerebbe averlo massimizzato e portato di fronte a tutte le altre applicazioni.
Qualcuno può aiutarmi?
No. Il metodo forceActive sposta la shell nella parte superiore dell'ordine Z. Questo porterà la shell in primo piano se e solo se nessun'altra finestra si sta spostando anche verso l'alto dell'ordine Z. –