Votre question

[java-SWT]

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
25 Janvier 2007 23:32:44

bonsoir,

j'ai développé une application en SWT sous Eclipse. Pour naviguer
j'utilise soit des boutons, soit des onglets. J'aimerais que quand je
clique sur un onglet les boutons aient le même comportement que si
je cliquais dessus.Je m'explique.Que je clique sur le bouton suivant
qui me permet d'aller à l'onglet2 ou que je cliquee sur ce dernier, les
boutons précédent et suivant doivent être actifs sur cet onglet.
En fait ce que je voudrais c'est déterminer le statut des boutons(propriété
enabled) sur chaque onglet.Voilà.Si vous avez une idée?

Merci d'avance.

Autres pages sur : java swt

a b L Programmation
26 Janvier 2007 19:23:29

Tu peux pas faire remonter à un appel de méthode sur l'objet principal (qui contient tous les widgets) ?
Cette fonction ferait le travail nécessaire en prenant les informations nécessaires.
31 Janvier 2007 15:55:47

Salut,

désolé pour mon retard et merci pour ta réponse.
Voici ou j'en suis :

tabFolder.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
tabFolder.getSelectionIndex();

if (tabFolder.getSelectionIndex()== 2){

suivant.setEnabled(false);
précédent.setEnabled(true);}
else if (tabFolder.getSelectionIndex()== 1){
suivant.setEnabled(true);
précédent.setEnabled(true);}

/*else if (tabFolder.getSelectionIndex()== 0) {
suivant.setEnabled(true);
précédent.setEnabled(false);
}*/

}


});

Le dernier else je l'ai mis en commentaire car sa ne fonctionne pas sinon. Savez-vous pourquoi?
Le getSelection me retourne la position de l'onglet sur lequel je me trouve(0,1,2) comme j'en ai 3.
a b L Programmation
31 Janvier 2007 19:36:20

Il ne faut pas implémenter la méthode widgetDefaultSelected() ?
sinon, si, dans ta méthode implémentée, tu affiches l'index dans la console, ça donne quel comportement ?
1 Février 2007 09:15:08

salut,

Merci pour ta réponse.
ben si j'affiche l'index dans la console, le premier onglet est égal à 0, le deuxième à 1 et le
troisième à 2. Pour l'onglet 2 et 3 sa fonctionne. Mais pour le premier onglet je met :
else if{
tabFolder.getSelection ==0

...
...
}

. L'application se lance avec un message d'erreur : unable to create view.
Alors que le premier onglet a pour valeur 0 et que pour les autres sa marche.
Je comprend pas tout là.

a b L Programmation
1 Février 2007 19:45:41

Je sais pas, je ne connais pas cette classe, mais si l'appel de la méthode tabFolder.getSelectionIndex() est buggé, appelle-la au début, met le résultat dans une variable locale, et fais tes tests.
21 Février 2007 15:38:42

salut CRicky,

bon hélas j'ai pas beaucoup avancé dans mon problème. Quand je met le getSelection index dans un entier i te que je fais un system.out.print sa me retourne bien 0 donc pour le numéro de l'onglet c'est bon.
Mais dans mon
else if{
tabFolder.getSelection ==0
}
si je mets un system.out.print, j'ai pas de problème
si je mets
suivant.setEnabled(true);
précédent.setEnabled(false);

il me met un java.lang.nullpointeurException.
Alors que je recopie exactement ce qu'il y avait dans mes autres boucles pour les autres onglets. Donc je comprends vraiment rien là.

T'aurais pas une petite idée par hasard?

Merci d'avance.
a b L Programmation
21 Février 2007 19:51:09

Le NULL Pointeur, c'est que "suivant" ou "precedent" n'existe pas (pas encore, ou plus :D  ).
21 Février 2007 21:00:21

ben je pencherais assez pour dire que mes trois boutons n'existent pas encore vu que c'est le premier onglet et que mon application se lance dessus.
Mais le problème c'est que je ne sais hélas pas commnent résoudre cela.Est-ce que tu pourrais m'aiguiller su une piste?
Encore merci.
a b L Programmation
21 Février 2007 21:28:23

Comment crées-tu et références-tu ces boutons ?
21 Février 2007 22:00:40

Je les crée en faisant :

private Button monBouton;
monBouton = new Button();
et ensuite je fais appel au bouton dans l'événement sur l'onglet.

27 Février 2007 11:03:20

Salut CRicky,

je n'ai malheureusement toujours pas résolu mon problème.
Si tu veux je peu éventuellement t'envoyer ma classe. Je ne
sais pas trop si sa ce fait. A toi de me dire.
En tout cas merci de m'aider.
a b L Programmation
27 Février 2007 19:47:54

En fait, je n'ai pas trop d'idée pour ton problème.
A ta place, le listener je l'implémenterais dans la classe et je ferais un tabFolder.addSelectionListener(tabFolder);
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS