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

 Java Discussion :

Question de newbee venant de MS: où est le mode designer?


Sujet :

Java

  1. #1
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut Question de newbee venant de MS: où est le mode designer?
    Salut,

    Je suis inquiet. Y a-t-il un mode design pour créer une UI ou bien est-ce que vous créez tous les composants par le code?

    Merci d'avance de votre indulgence.

    Immo
    "Winter is coming" (ma nouvelle page d'accueil)

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Par défaut
    oui il y a des designer selon ton IDE

  3. #3
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Eclispe

    [EDIT]
    J'ai commencé en suivant ce tuto: http://baptiste-wicht.developpez.com...wing/debutant/

    Y'a pas une boite à outils pour faire des glisser déposer des contrôles?
    [/EDIT]
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Mouaip

    Pour Eclipse il existe plusieurs plugins proposant un designer (il n'y en a pas par défaut).
    Le mieux foutu se jouant entre WindowBuilder de Google (gratuit) et la version plugin Eclipse de JFormDesigner (payant)

    Pour Netbeans et IntelliJ Idea c'est déjà inclus de base.

    A noter toutefois que pour bien maîtriser swing, il est préférable d'avoir légèrement codé une ou deux interfaces basiques à la main pour bien comprendre les principes sous jacents...

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Et par expérience, on va aussi vite et on a plus facilement ce que l'on veux en y allant par le code :p

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Et par expérience, on va aussi vite et on a plus facilement ce que l'on veux en y allant par le code :p
    Euh Ben non parce que entre glisser déposer une textbox et la déclarer, l'instancier par le code + gérer toutes les méthodes liées aux événements y'a pas photo. Celle là on ne peut plus me la faire
    De plus, comment tu gères la séparation des rôles entre le designer et le programmeur? On est à des années lumière des WPF. Bon je vais pas troller alors que je viens juste de m'y mettre

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Il n'est pas question de troller


    Disons que dans mon expérience je n'ai jamais eu besoin de séparer le programmeur du designer de l'interface. En java pour faire un interface, tu sort ton stylo bille et tu fais un croquis sur une feuille de papier de ce que tu veux (ça c'est le boulot du designer) et en 3 ligne de code, chaque composant est mis en place. Avec l'autocompletion et tout le bordel que fait l'ide. J'ai plus vie fait d'ajouter comme ça un textfield que de déplacer ma main vers la souris pour glisser déposer l'objet

    Si le designer ne connais pas un minimum de programmation, il a pas à touche au code de toutes façons, hors les outils de design graphique ca génère du code (pas toujours joli à maintenir d'ailleurs).

    C'est une question de gout, les designer existent aussi en java, mon expérience m'a apprise que coder l'interface va plus vite.


    Et pour comparer à windows, n'oubliez pas une chose importante: les interface en java doivent systématiquement être concues pour s'ajuster à l'os sous-jacent, contrainte que n'ont pas les programme pur windows.

    Chaque os aura ses dimensions, ses résolutions et des polices différentes. Ce qui fait qu'en java on conçois des interfaces où les composants ne sont pas "positionné", mais mis en relation entre eux, ce qui n'est pas toujours évident à exprimer visuellement par du drag and drop.

    Enfin, les designer qui génèrent ce genre de code imbuvable:

    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
    private JButton bouton3;
    private JButton bouton4;
    private JButton bouton5;
     
    public actionPerformed(ActionEvent e) {
       if (e.getSource()==bouton3)
           bouton3_clicked(e);
       else if (e.getSource()==bouton4)
           bouton4_clicked(e);
       else if (e.getSource()==bouton5)
           bouton5_clicked(e);
    }
    // + initialisation du bouton
     
    public void bouton3_clicked(ActionEvent e){
        // code ici
    }

    je préfère mille fois écrire directement à la main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monPanneau.add(new JButton(new ActionSauverClient(monFormulaire)));

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Tu veux dire que tu crées une classe pour gérer chaque évènement de ton formulaire??

    De plus, si le design change en cours de route, tu es obligé de changer dans le code l'ordre dans lequel les composants sont ajoutés au formulaire?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    L'avantage d'avoir une classe Action, c'est que justement tu peux la réutiliser dans plusieurs formulaire. De toutes façons, les "callback" en java, ce sont des objet, donc il est normal que le code aie son objet à part. Normalement, on évite de faire la soupe que fait un designer graphique, qui consiste à mettre tout dans la même grosse méthode d'évènement, et de faire partager ce même objet d'évènement par des bouton qui n'ont rien à voir entre eux

    Pour donner un Exemple: un objet de type Action en swing, contient une icone, un texte, un descriptif et ce qu'il faut faire en cas d'action. Un fois que t'as ça (par exemple l'action sauver), tu peux l'utiliser directement dans un JMenuItem (Fichier->Sauver), dans une toolbar, dans un JButton.

    Quand au changement de design, avec des layout comme SpringLayout, c'est pas bien compliqué de faire les adaptation.

    Bref, c'est une question de gout, mais pas mal de gens qui font du GUI avec swing m'ont déjà confirmé préférer y aller au code qu'au designer. Mais rien ne t'empeche de te faire la main au designer

    Et puis il y a pas mal de truc que tu ne sais pas faire prendre en compte par un designer. Comme lui dire "suivant la condition X, ici je met soit un JTextArea, soit une image", ou comme ça m'est déjà arriver, faire faire à un designer:
    pour X de 1 à N, créer dans l'ordre un JLabel, soit un JTextArea soit un JTextField suivant une condition dépendant de X, puis évenutuellement un bouton avec un action custom dépendant de X.

    Maintenant, j'ai jamais travailler avec WPF, donc je peux pas comparer, le mieux c'est que tu te fasse la main sur swing, avec ses notions de Document, et d'Action et dans 1 an tu viens nous dire ce que t'en pense

  10. #10
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Dans l'absolu je mélange les deux.

    SI j'ai un formulaire , j'ai tendance à m'appuyer sur JFormDesigner dans lequel j'utilise du FormLayout (le GroupLayout utilisé par Matisse/Netbeans donnant un code parfaitement imbittable). De plus ce designer produit un code tout à fait correct en se basant sur le PanelBuilder fourni par le FormLayout. De même il permet la gestion de l'I18N de façon automatique.

    Par contre je gère l'intégralité des actions à la main une fois que le design est fait.

    Dans le cas d'éléments conditionnels, j'ai tendance à designer des éléments simples correspondant aux divers cas d'utilisation sous JFormDesigner, puis de les utiliser à ma convenance dans mon application.

  11. #11
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    mmmh, mais JFormDesigner n'est pas gratuit.
    "Winter is coming" (ma nouvelle page d'accueil)

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    en meme temps 129€ / poste pour une utilisation commercial, on est loin, très loin d'être excessif si tu considère ce genre d'outils comme un gain de temps.

    Personellement, on fais pas assez de GUI pour le justifier, mais on justifie d'autres outils dans les même tarifs

  13. #13
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    en meme temps 129€ / poste
    T'as pas tords

    Mais bon, ce qui m'interpelle c'est de constater la diversité des éditeurs qui fournissent les différentes pièces pour se constituer une environnement de développement. Mais bon, c'est une des caractéristiques de l'open source. Pour un "MS adict" comme moi c'est dur
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    mmmh, mais JFormDesigner n'est pas gratuit.

    C'est pour cela qu'il y a d'autres solutions proposées dans mon post initiale.

    Enfin un IDE (Eclipse) + Designer graphique pour 129 roros, ça ne fait pas grand chose comparé à une license Visual Studio. Pour un outil tout aussi puissant.

    129€ c'est moins que le coût d'une journée de ton boulot dans une boite, pour combien de temps gagné ensuite...

  15. #15
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par sinok Voir le message
    C'est pour cela qu'il y a d'autres solutions proposées dans mon post initiale.
    Je suis en train d'installer WindowBuilder de Google.
    "Winter is coming" (ma nouvelle page d'accueil)

  16. #16
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Mais bon, ce qui m'interpelle c'est de constater la diversité des éditeurs qui fournissent les différentes pièces pour se constituer une environnement de développement.
    Tu peux aussi te fournir des IDE payant tout intégré comme intellij idea, qui a aussi un swing designer

    http://www.jetbrains.com/idea/features/gui_builder.html

    Au delà de ça, en java tu a aussi swt comme affichage alternatif, avec ses propres builder, et apache pivot, qui peut travailler avec un fichier xml de configuration

  17. #17
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Au delà de ça, en java tu a aussi swt comme affichage alternatif, avec ses propres builder, et apache pivot, qui peut travailler avec un fichier xml de configuration
    Argh

    Merci

    Je vais me remettre au .Net
    "Winter is coming" (ma nouvelle page d'accueil)

  18. #18
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par Immobilis Voir le message
    Je suis en train d'installer WindowBuilder de Google.
    Bon, il arrête pas de m'insulter:
    WARNING: Use on a JRE prior to version 1.6 is deprecated
    Initializing AppEngine server
    [WARN] ********************************************************
    Warning: Future versions of the Dev App Server will require Java 1.6 or later. Please upgrade your JRE.
    ********************************************************
    J'ai pourtant installé la dernière version de Java...

    Une idée?
    "Winter is coming" (ma nouvelle page d'accueil)

  19. #19
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu n'aurais pas une autre JVM d'installée par le plus grand des hasards?

    donne nous le retour d'un java -version dans un terminal (enfin console ou invite de commande suivant l'OS)...

  20. #20
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    java version "1.5.0_03"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_03-b07)
    Java HotSpot(TM) Client VM (build 1.5.0_03-b07, mixed mode)
    Dans la liste des programmes installés, j'ai "Java(TM) 6 update 26", "Java(TM) 6 update 7", "Java(TM) Development Kit 6 update 7".

    Merci de ton aide.

    Immo
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [C#]Question bête : Comment tester si un objet est créer?
    Par ben_ghost dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/08/2006, 20h50
  2. [Tableaux] Question de newbee
    Par calimero642 dans le forum Langage
    Réponses: 4
    Dernier message: 19/04/2006, 11h24
  3. Réponses: 3
    Dernier message: 14/12/2005, 11h30
  4. Réponses: 2
    Dernier message: 19/11/2005, 18h32
  5. [\ensuremath]Tester si on est en mode mathématique
    Par xavlours dans le forum Programmation (La)TeX avancée
    Réponses: 2
    Dernier message: 09/11/2005, 14h13

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