Domanda

Non riesco a trovare alcun metodo per fare una scheda invisibile o in altro modo nascosti in un'applicazione SWT / JFace --- voglio una seconda scheda sia disponibile (o meno) sulla base di alcune altre preferenze impostate dall'utente.

Non dovrebbe essere così difficile da capire questo!

È stato utile?

Soluzione

L'unico modo che conosco è quello di smaltire il CTabItem per la scheda che si desidera nascondere e quindi creare un nuovo CTabItem quando si desidera vedere. Una specie di,

 CTabFolder folder = new CTabFolder(parent, SWT.NONE);
 Label label = new Label(folder, SWT.NONE);
 label.setText("Hello");
 CTabItem item = new CTabItem(folder);
 item.setControl(label);
 // Hide it
 item.dipose();
 // show it again
 CTabItem item = new CTabItem(folder);
 item.setControl(label);

Se si vuole nascondere una scheda nel mezzo è necessario ricreare tutte le schede dopo quella che si smaltito .. E 'probabilmente più facile se si crea una classe che detiene il controllo e un campo che può essere utilizzato per attivare o disattivare la visibilità. Poi si può solo dipose tutte le CTabItems e ricreare se e solo se il campo di visibilità è vero.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top