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

SWT/JFace Java Discussion :

[Eclipse 3.1] ouvrir une fenetre avec un bouton


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 20
    Points : 11
    Points
    11
    Par défaut [Eclipse 3.1] ouvrir une fenetre avec un bouton
    bonjour,

    je souhaiterai ouvrir une fenetre avec un formulaire a remplir lorsqu on clique sur un bouton. J' ai reussi a ouvrir une fenetre mais lorsque je mets des choses dedans rien ne s affiche. Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    selectButtonCallees[i].addListener(SWT.Selection, new Listener(){
          public void handleEvent(Event e){
    	shellTest = new Shell(parent.getShell(),SWT.DIALOG_TRIM );
    	shellTest.setSize(300,100);
    	Label lab = new Label(shellTest, SWT.BORDER);
    	lab.setText("kikou");
    	shellTest.setText("Select Data for this Column" ); 
    	shellTest.open();				
          }
    });
    voila donc avec ce petit bout de code, j' ai une fentre avec un titre a la bonne taille, mais je n ai aucune trace du label qui est cense ecrire "kikou".
    Peut etre m y suis je mal pris pour ouvrir une fenetre et qu il fallait faire autrement, je ne sais po , si vous avez la solution, aidez moi siouplai!

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Points : 145
    Points
    145
    Par défaut
    j'avoue ne pas tout suivre et en particulier je ne connais pas la classe Shell.

    par contre, il me semblerait logique que ton Label soit addé a ton Shell comme il le serait sur un JPanel par exemple.

    genre:

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    deja merci de ta reponse.
    Un shell c'est une objet de la classe org.eclipse.swt.widgets. Oui, j'ai oublie de preciser que j'utilise SWT et donc les jpanels et compagnie je ne m en sert pas et donc je ne peux pas utiliser add.
    Ensuite j' ai deja ajoute des labels a ma fenetre principale et c'est comme ca que je fais et ca marche : Label label = new Label(fenetre, SWT.NONE).
    Mais dans cette seconde fenetre rien ne semble vouloir s'afficher...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    il doit te manquer ceci :
    shellTest.setLayout(new FillLayout());

    Si tu travailles avec eclipse rcp :
    pour créer une nouvelle fenêtre je te conseille de faire une nouvelle classe MyShell par exemple qui hérite de Dialog:
    public class MyShell extends Dialog {
    ...
    }
    http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/index.html

    c'est une classe abstraite et tu dois alors implémenter la méthode createDialogArea pour spécifier ce que contient ta fenêtre.
    Tu peux aussi surcharger d'autres méthodes comme okPressed ou create pour personnaliser ta fenêtre.

    pour lancer la fenêtre:

    selectButtonCallees[i].addListener(SWT.Selection, new Listener(){
    public void handleEvent(Event e){
    int res = new MyShell().open();
    }
    });

    Je pense que dès que tu veux créer une fenetre ou n'importe quel objet ou widget avec eclipse rcp il faut que tu le fasses hériter d'une classe ou d'une interface qui a été prévue pour ça.

    J'espère que ça t'aidera.
    Bonne chance pour la suite!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    merci beaucoup pour ta reponse, jái trouvé la solution ce matin et cétait effectivement shell.setLayout() qui manquait...
    Sinon je vais donc essayer le extends Dialog de ce pas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ouvrir une fenetre avec un bouton
    Par saucisse17 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 06/02/2010, 18h03
  2. [WD11] ouvrir une fenetre avec SendMessage()
    Par yann_72 dans le forum WinDev
    Réponses: 4
    Dernier message: 13/06/2008, 09h34
  3. Comment ouvrir une fenetre avec une taille définie
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/07/2007, 16h27
  4. Ouvrir une frame avec un bouton dans une frame
    Par argon dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/03/2006, 10h48
  5. Ouvrir une fenetre avec l'heure sur écran externe avec X11
    Par jamesleouf dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 20/03/2006, 14h56

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