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

AWT/Swing Java Discussion :

[débutant]Passage GUI de Swing vers SWT


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut [débutant]Passage GUI de Swing vers SWT
    Bonjour a tous,

    Je suis actuellement entraint de lutter pour passer l'une des fenetres d'une appli developpée en Swing vers SWT ( pour l'aspect graphique au moins..)
    Cette appli étant assez compliquée, quel est le moyen pour faire ca le plus facilement et proprement possible??

    Merci beaucoup

  2. #2
    Membre régulier Avatar de Rocket
    Profil pro
    Inscrit en
    Février 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 72
    Points : 82
    Points
    82
    Par défaut
    Bonjour ,je n'ai pas de réponse facile pour passer Swing vers SWT. Mais j'ai fait les deux et je peux te dire que ce n'est pas pareil.

    SWT est un peu plus compliqué dans la gestion car utilisation d'objet n'existant pas dans Swing (display, shell), sans parler des Layouts, Layout data.

    Je ne suis pas sur qu'il existe des transformateurs d'IHM de swing vers SWT.
    Donc à part le faire à la main ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Bon, bah ca risque de ne pas etre evident alors...
    Va falloir sortir les mouchoirs et reflechir dur

    merci pour ta reponse Rocket

  4. #4
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    a priori, rien d'automatisé pour ca.
    tu pourrais jeter un oeil sur le projet SwingWT qui utilise SWT pour le rendu de swing. comme ca, ton application serait en SWT sans rien changer. mais je ne sais pas a quel point c'est utilisable en prod/stable etc...

    question : puis je savoir pourquoi cette migration ? ca m'interresse

  5. #5
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut
    SwingWt est très stable, je l'ai déjà utilisé et franchement pas de soucis majeur...
    De toutes façon ça ne reste qu'un "wrapper"

    Qui plus est, y a pas grand chose à faire, seulement les imports à changer...
    --
    Ludovic

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    merci pour vos reponses,

    en effet SwingWT pourrait bien m'aider, je vais voir ce que ca donne

    PS: J'effectue cette migration sur un logiciel qui a été passé en client serveur sous eclipse et SWT, mais qu'a moitié, et qui était anciennement développé en swing/awt. Je dois donc 'uniformiser' le graphisme de certaines fenetres, qui n'ont pas été modifiées, avec eclipse.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Bonjour a tous,

    J'ai finalement décidé d'effectuer le passage Swing /SWT à la main.

    Ma fenetre comportant un arbre hierarchique relié a un serveur distant ( unix, corba), j'ai voulu garder celui-ci en swing/awt, en l'insérant dans un group, car il fonctionne bien.
    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    ....
    private javax.swing.JTree fileTree = new javax.swing.JTree();
    private java.awt.Frame treeFrame;
    private java.awt.Panel treePanel;
    ....
    ....
    Group treeGroup = new Group(composite, SWT.EMBEDDED | SWT.RESIZE);
     
     treeGroup.setText("Select a file :");
     treeFrame = SWT_AWT.new_Frame(treeGroup);
     treePanel = new java.awt.Panel(new java.awt.BorderLayout());
     treeFrame.add(treePanel);
     fileTree.setModel(model_);
        fileTree.setCellRenderer(renderer);
        fileTreeScrollPane.getViewport().add(fileTree, null);
        fileTree.getSelectionModel().setSelectionMode
                    (TreeSelectionModel.SINGLE_TREE_SELECTION);
     treePanel.add(fileTreeScrollPane);
     
     treeGroup.setLayout(new FillLayout());
     
    .....
    .....
    data = new GridData( GridData.GRAB_VERTICAL | GridData.GRAB_HORIZONTAL
          | GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
        data.horizontalSpan = 1;
        treeGroup.setLayoutData(data);
    ....
    Seulement cet arbre s'affiche mal.
    il s'affiche par dessus le group, et cache le texte "Select a file :"...
    De plus, il ne réagit pas a l'agrandissement de la fenetre
    Cela est surement du a une erreur ds les arguments SWT."...", mais je ne sais pas quoi mettre
    Si quelqu'un sait comment m'aider....

    Merci

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Aparemment le probleme est plus vicieux que le simple dysfonctionnement d'affichage....
    Le fait de mixer des objets SWT et AWT entraine une erreur de thread, car du thread AWT on ne peut modifier d'élément SWT

    Pour cela, il doit y avoir une methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    display.asyncExec (new Runnable () {
            public void run () { ...}
    }
    mais j'ignore comment l'utiliser proprement...

    Me conseillez vous de tenter de refaire mon arbre hiérarchique en SWT ou y a t'il une solution???

    merci

  9. #9
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut
    Le mix des 2 n'a jamais été une solution super satble...
    Moi je te conseille te le refaire en SWT
    --
    Ludovic

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    ok,
    en effet ca me parait plus prudent, tu confirmes mon point de vue
    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2011, 15h37
  2. Réponses: 2
    Dernier message: 17/02/2005, 13h48
  3. Passage du type integer vers varchar sur clé primaire
    Par GMI dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/01/2005, 09h09
  4. [ JSP ][ Débutant ] Passage d'objet par un forward
    Par captainpouet dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/04/2004, 10h33
  5. [débutante] passage de JBuilder à Eclipse
    Par phoebe dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/04/2004, 15h28

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