Ajouter un commentaire

Elphara
.setVisible(false) comment faire avec CTabFolder (java,SWT)

Bonjour,

j'ai un CTabFolder (SWT) qui comporte des CTabItem, pour chaque item, j'ai un Composite c et je fais un monCTabItem.setControl(Composite c).

Mon problème, c'est que je veux cacher un certain CTabItem qui comprend un Composite après un event, pour l'interception de l'event c'est OK, ce qui ne va pas c'est que je fais mon Composite c.setVisible(false); mais ceci n'affecte pas l'affichage et ce dernier est toujours visible ! comment procéder ?

Merci d'avance

voici le code de ma classe:

public class Tabs extends Composite {

	private CTabFolder cTabFolder;

	private GeneralTab general; //(un Composite)
	private SecurityTab security;
	private ServerTab server;
	private EmissionTab emission;
	private ReceptionTab reception;
	private AdvancedTab advanced;

	private TabsMediator mediator;

	private PreferenceStore preferenceStore;

	public Tabs(Composite parent, int style) {
		super(parent, style);
		initialize();
		{...}				
	}

	private void initialize() {
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 2;
		this.setLayout(gridLayout);

		createCTabFolder();
		this.setSize(650, 280);
	}

	private void createCTabFolder() {
		cTabFolder = new CTabFolder(this, SWT.NONE);
		GridData gridData = new GridData(GridData.FILL_BOTH);
		gridData.horizontalSpan = 2;
		cTabFolder.setLayoutData(gridData);
		
		general = new GeneralTab(cTabFolder, SWT.NONE);
		CTabItem generalTabItem = new CTabItem(cTabFolder, SWT.NONE);
		generalTabItem.setControl(general);
		generalTabItem.setText("Général");
		
		security = new SecurityTab(cTabFolder, SWT.NONE);
		CTabItem securityTabItem = new CTabItem(cTabFolder, SWT.NONE);
		securityTabItem.setControl(security);
		securityTabItem.setText("Sécurité");

		server = new ServerTab(cTabFolder, SWT.NONE);
		CTabItem serverTabItem = new CTabItem(cTabFolder, SWT.NONE);
		serverTabItem.setControl(server);
		serverTabItem.setText("Serveur");

		emission = new EmissionTab(cTabFolder, SWT.NONE);
		CTabItem emissionTabItem = new CTabItem(cTabFolder, SWT.NONE);
		emissionTabItem.setControl(emission);
		emissionTabItem.setText("Emission");

		reception = new ReceptionTab(cTabFolder, SWT.NONE);
		CTabItem receptionTabItem = new CTabItem(cTabFolder, SWT.NONE);
		receptionTabItem.setControl(reception);
		receptionTabItem.setText("Réception");

		advanced = new AdvancedTab(cTabFolder, SWT.NONE);
		CTabItem advancedTabItem = new CTabItem(cTabFolder, SWT.NONE);
		advancedTabItem.setControl(advanced);
		advancedTabItem.setText("Avancé");
		
		this.general.setVisible(false); //<<<<<< ICI QUE CA VA PAS
		
		cTabFolder.setSelection(generalTabItem);
	}
      
         {...}
}
[/b]

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 N   N  PPPP   X   X  FFFF   SSS  
NN N P P X X F S
N N N PPPP X FFF SSS
N NN P X X F S
N N P X X F SSSS