IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Comportement bouton suivant


Sujet :

Langage Java

  1. #1
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut Comportement bouton suivant
    Bonjour, j'essaie de mettre des comportements tout simple sur mon bouton suivant mais Eclipse me retourne des erreurs sur ma syntaxe ci-dessous. En fait ce que je voudrais faire c'est que quand j'appuie sur le bouton suivant c'est l'onglet suivant qui s'affiche, et que dans les onglets c'est le deuxième onglet qui est sélectionné. Et quand on arrive à l'onglet 3, comme c'est le dernier et bien le bouton suivant devient inaccessible. C'est ce que j'ai essayé de faire mais apperemment mon code n'est pas bon et je pense qu'il y a plus facile. Voilà, si vous avez une petite idée. Merci d'avance.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
     
    if (tabFolder.getItems()=onglet1) {
    						tabFolder.setSelection(2);
    			       }
    else (tabFolder.getItems() = onglet2){
    						tabFolder.setSelection(3);	
    			            }
    else (tabFolder.getItems() = onglet3){
    	button1.setEnabled(false);	
     
    			           }
     
    				                                         }

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Par défaut
    Salut

    En java (et dans la plupart des autres langage à ma connaissance), la syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(condition1) {
    } else (condition2) {
    }
    n'existe pas, il faut ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(condition1) {
    } else if(condition2) {
    }
    Tu verras, eclipse te feras moins d'erreur

  3. #3
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    salut,

    Merci bien.effectivement sa marche déjà mieux.

    mais j'ai encore une erreur : la partie gauche est souligné en rouge. En fait la partie gauche c'est pour tester si l'item sur lequel je me situe est égal a l'item1. Mais sa me met :"The left-hand side of an assignment must be a variable".

    if (tabFolder.getItems()= onglet1)

    Merci d'avance.

  4. #4
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Puis si tu as un plus grand nombre d'onglets, les if à la suite comme ça bof surtout que finalement le seul cas particulier, c'est le dernier onglet.

    Donc si tu as N onglets, les N-1 premiers onglets ont le même comportement donc inutile de rajouter des tests et du code pour le bouton suivant pour ces onglets, une seule méthode suffira. Teste juste si c'est le Nième onglet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) 
    {					
      if (tabFolder.getItems()!=ongletN) 
     {
        tabFolder.setSelection(i+1); // i représente ton onglet courant
     }
     else
     {
        button1.setEnabled(false);	
     
      }
    }
    ps : cette idée de code est là pour t'aiguiller.

  5. #5
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Citation Envoyé par kifouillou

    if (tabFolder.getItems()= onglet1)
    C'est sur que si tu fais une affectation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if (tabFolder.getItems()== onglet1)
    Ca devrait aller mieux

  6. #6
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
     
    int i=0;
    if (tabFolder.getItem(1)!= onglet3) //onglet3 = le dernier onglet{
     tabFolder.setSelection(i+1);
    }
    Merci beaucoup. J'ai initialisé i à 0. Par contre sa me fait avancer que d'un onglet. Quand je clique sur suivant lorsque je suis sur mon deuxième onglet rien ne se passe. Je pense que la méthode getItem n'est pas bonne. Sa me récupère pas le tabItem courant. J'ai essayé toutes les méthodes get relatives aux onglets mais rien n'y fait. Voilà. Je sollicite encore une fois votre aide.
    Promis c'est la dernière chose que je demande.

  7. #7
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Tout d'abord ton fonctionnement n'est pas le bon. Tu initialises i à 0 puis si c'est pas le dernier onglet tu lui rajoutes 1. Mais ensuite, tu ne l'augmentes plus ce i et pire a chaque fois que tu vas rerentrer il vaudra 0 à cause du int i=0;

    Donc je te réexplique ce que tu dois esayer de faire : il faut que tu identifies chaque onglet, soit par un id soit par le nom de l'onglet. Ensuite, lorsque tu es sur un onglet tu récupères son nom ou son id, si la valeur est différente du dernier onglet, tu passes au suivant. Sinon, tu grises ou caches le bouton suivant.

  8. #8
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int i;
    i = tabFolder.getSelectionIndex();
    if (tabFolder.getSelectionIndex()!= 2) {				 tabFolder.setSelection(i+1); 					 
    }						 
    else
    {
    						    button.setEnabled(false);
    Voilà j'ai changé l'initialisation de i qui prend pour valeur l'onglet courant. Le bouton suivant marche sauf que quand je suis sur le dernier onglet je suis obligé de réappuyer sur le bouton suivant pour qu'il se désactive. Puis une fois qu'il est désactivé, même quand je fais précédant il reste désactivé. Je pensais avoir trouvé le bon truc mais apparemment c'est pas aussi simple que cela.
    Merci d'avance.

  9. #9
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Citation Envoyé par kifouillou
    Voilà j'ai changé l'initialisation de i qui prend pour valeur l'onglet courant. Le bouton suivant marche sauf que quand je suis sur le dernier onglet je suis obligé de réappuyer sur le bouton suivant pour qu'il se désactive.
    C'est normal. Il faut qu'au niveau de ton code, si c'est le dernier onglet, tu sélectionnes cet onglet et qu'ensuite tu désactives le bouton.

    Il te suffit de rajouter dans le cas else, ie le cas ou c'est le dernier onglet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tabFolder.setSelection(i+1);
    puis tu fais ton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    button.setEnabled(false);
    Ensuite, quand tu appliques ta méthode sur le bouton précédent, il faut refaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    button.setEnabled(true);
    pour réafficher le bouton suivant

    Est-ce-que cela te convient?

  10. #10
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    y a un truc qui fonctionne c'est le fait que quand je clique sur le bouton précédent le bouton suivant se réactive. Par contre mon problème de bouton suivant qui ne se désactive pas au dernier onglet subsiste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    else
    {
    tabFolder.setSelection(i+1);
    button1.setEnabled(false);
    }
    Autre chose. Donc comme vous l'avez deviné, on peut soit naviguer par onglet soit par bouton.
    Il faut que quand je navigue par onglet les boutons qui ont été désactivé se réactive. Donc voilà un peu le topo.

  11. #11
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Si c'est par navigation par onglet, il te suffit de rajouter un test lors de l'ouverture de ton onglet pour savoir quel bouton afficher ou non.

    En ce qui concerne ton problème pour le dernier onglet, mets le bout de code histoire de voir

  12. #12
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Voici le code pour le bouton suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int i;
    i = tabFolder.getSelectionIndex();
    if (tabFolder.getSelectionIndex()!= 2) 
    				{
    tabFolder.setSelection(i+1); 
    button.setEnabled(true);
    			             }
    else
    {
    tabFolder.setSelection(i+1); 
     button1.setEnabled(false);
    Petite précision, le button c'est le bouton précédent et le button1 c'est le bouton suivant. Voilà. Merci beaucoup de m'aider. Euh puis pour le test sur l'onglet je fais un AddListener aussi ou y a plus simple?

  13. #13
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (tabFolder.getSelectionIndex()!= 2)
    Donc avec le else tu es déjà sur le dernier onglet, il ne faut donc rien faire.

    Le test devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (tabFolder.getSelectionIndex()!= X) // X étant le N-1 ième onglet
    Quant au code pour les onglets, tu peux rajouter des actionListener() lorsque tu cliques sur les onglets en effet.

  14. #14
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Voilà le bout de code que j'ai fais pour l'onglet 1.Mais en fait je passe par le tabFolder. Je ne sais pas si déjà sa c'est bien. Puis pour dire que l'onglet 1 est ouvert j'ai mis isdisposed mais la encore ce n'est apparemment pas la bonne méthode. Grrrr. C'est la dernière chose qui va pas.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    tabFolder.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
    if (onglet1.isDisposed()){
    button.setEnabled(false);
    		      }
    					}
    					});
    En tout cas merci beaucoup. C'est super. Comme d'habitude on est bien aidé sur ce site.

  15. #15
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Tu pourrais me donner les types des objets tabFolder et onglet1 aussi

  16. #16
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    re,

    ben tabFolder est de type TabFolder.
    et onglet1 de type TabItem.

    J'ai donc 3 onglets dans mon tabFolder dans lesquels je dois définir le comportement des boutons(onglet1, onglet2,onglet3). Voilà les infos que tu voulais.

    Merci d'avance

  17. #17
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    A tout hasard teste ça alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    onglet1.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() 
    {
    public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) 
       {
             button.setEnabled(false);
       }
     
    });

  18. #18
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Yop,

    Il me dit que le addSelectionListener est : "undefined method for tabItem"
    onglet1.addSelectionListener

    Voilà. J'ai le choix entre addDisposeListener et addListener pour ce composant.Voilà le résultat du test.

    Merci encore.

  19. #19
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Alors où en es tu dans ton code?

    Le souci est réglé?

  20. #20
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    bonsoir,

    non hélas le souci n'est toujours pas réglé. Je ne sais pas quelle méthode invoquer.Ce qui est sur c'est que je dois la faire sur les 3 onglets car le comportements des boutons est différent sur les 3. Mais après je suis un peu perdu.Je n'ai pas de addSelectionListener comme méthode pour les onglets. Donc si tu as une idée.
    Encore merci pour ton aide et ta patience.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. pb bouton suivant et precedent
    Par taka10 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/06/2006, 09h30
  2. [VBA-E] changer bouton suivant état donné
    Par totoza dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2006, 11h48
  3. Réponses: 7
    Dernier message: 17/05/2006, 15h49
  4. Réponses: 2
    Dernier message: 24/04/2006, 14h56
  5. Bouton suivant et précédent
    Par claralavraie dans le forum ASP
    Réponses: 13
    Dernier message: 26/12/2005, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo