Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1292 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Utilité des layouts ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Utilité des layouts ?

n°141935
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-05-2002 à 21:14:50  profilanswer
 

C'est décidé, je vais briser le quasi monopole de Darklord, je me lance dans le Java  :D  
 
Une question m'effleure : je viens de récupérer JBuilder sur le site de Borland, et j'ai commencé à me lancer dans une application toute simple : une DialogBox avec un Hello World qui s'affiche quand on clique sur un bouton (on ne rit pas)
 
Mais je remarque qu'on peut agencer les controles selon différents layout ! Quelle est l'utilité des layouts ? Pourquoi ne pas laisser le choix d'agencer les controles à notre guise ?
 
Une question con, mais bon ....  ;)  
 
A+  :hello:


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 21-05-2002 à 21:14:50  profilanswer
 

n°141937
darklord
You're welcome
Posté le 21-05-2002 à 21:20:33  profilanswer
 

Citation :

C'est décidé, je vais briser le quasi monopole de Darklord, je me lance dans le Java  :D  


 
mais enfin  :cry:  
 

Citation :


Une question m'effleure : je viens de récupérer JBuilder sur le site de Borland, et je me suis dit que c'est vraiment une grosse merde


 
Je suis bien d'accord avec toi :D
 

Citation :


Mais je remarque qu'on peut agencer les controles selon différents layout ! Quelle est l'utilité des layouts ? Pourquoi ne pas laisser le choix d'agencer les controles à notre guise ?  


 
Le modèle Java a été développé comme ca. Ca permet nottamenet à l'application à réagit intelligement au resize de fenetre etc. En gros si ta fenetre a toujours la meme taille tu peux le faire via un layout qui donne les coordonées absolues.
 
En général ce n'est pas souhaité mais je suis le premier à dire que les GUI en Java c'est pas évident (bcp ici sont très fort à ce niveau là mais perso je n'ai jamais rien compris au GUI java, je suis une vrai bouse ;)
 
Bye  :hello:

 

[jfdsdjhfuetppo]--Message édité par DarkLord le 21-05-2002 à 21:21:13--[/jfdsdjhfuetppo]


---------------
Just because you feel good does not make you right
n°141949
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-05-2002 à 21:29:25  profilanswer
 

:lol:  :lol:  :lol:  
Mort de rire pour JBuilder  :D  
J'ai à peine testé, mais il me semble pas si mal que ça ! Mais bon, comme je dis, j'ai à peine testé...  ;)  
 
T'inquietes pas pour ton monopole, c'est pas demain la veille que je te ferais concurrence en Java  :D  
 
Merci en tout cas pour ta réponse, car c'est vrai que quand tu viens de C++ Builder ou Visual C++ et que tu arrives devant la conception de GUI en Java, ça fait tout bizarre...
 
 :hello:


---------------
J'ai un string dans l'array (Paris Hilton)
n°141951
darklord
You're welcome
Posté le 21-05-2002 à 21:30:33  profilanswer
 

tu m'étonnes. Moi j'ai jamais capté comment faire une GUI propre en Java ;)


---------------
Just because you feel good does not make you right
n°141962
HappyHarry
Posté le 21-05-2002 à 21:40:45  profilanswer
 

ca je sais faire !  :D  
mais les layouts, effectivement c un systeme pratique pour le resize des fenetres, mais si tu n'imbriques pas des panels sur plusieurs niveaux, tu vas avoir des surprises au niveau de l'esthetisme (tres particulier) de ta fenetre quand tu l'agrandiras  :D

n°141964
darklord
You're welcome
Posté le 21-05-2002 à 21:41:30  profilanswer
 

finalement c'est vachement pourris les GUI en java non?


---------------
Just because you feel good does not make you right
n°141965
veryfree
Posté le 21-05-2002 à 21:42:15  profilanswer
 

Oublie JBuilder
 
 
c etait le conseil du jour de Jerry©

n°141966
HappyHarry
Posté le 21-05-2002 à 21:42:47  profilanswer
 

ben au debut, le temps de piger comment ca marche, on peut dire ca
une fois que t'as saisi le truc, c pas mal, c juste un peu long pour faire un truc joli
(a moins de passer par un AbsoluteLayout, mais il n'est pas fourni en standard)

n°141969
HappyHarry
Posté le 21-05-2002 à 21:44:14  profilanswer
 

veryfree a écrit a écrit :

Oublie JBuilder
 
 
c etait le conseil du jour de Jerry©  




 
mon prefere c ultraedit :)
c sur que niveau Java il sait pas faire grand chose, mais rien de tel que 10 doigts et un cerveau (non non, le dernier outil n'est pas facultatif  :D ) pour arriver a faire ce que l'on veut
 
sinon pour faire des GUI tu peux tenter NetBeans ou Forte, mais moi j'aime pas trop, et le code généré est tres tres tres tres ... tres laid

n°141973
veryfree
Posté le 21-05-2002 à 21:45:29  profilanswer
 

non arrete c pas pourris
les composants graphic sont assez jolie et puis il suffis de maitrisé l instru
 
dans la FAQ il doit y avoir des pas mal de bon site qui te permettent d apprendre a crée de belle appli
 
mais c clair que 100 lignes de code pour 6 composants c po evident

Citation :

 
  GridBagConstraints userFieldsPanelConstraints = new GridBagConstraints();
  userFieldsPanelConstraints.weightx  = 0;
  userFieldsPanelConstraints.weighty  = 100;
  userFieldsPanelConstraints.insets = new Insets(2,0,2,1);
  userFieldsPanelConstraints.fill  = GridBagConstraints.HORIZONTAL;
  userFieldsPanelConstraints.anchor = GridBagConstraints.SOUTHEAST;
   
  userFieldsPanelConstraints.gridx = 0;
  userFieldsPanelConstraints.gridy = 0;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;
  userFieldsPanel.add(userLabel, userFieldsPanelConstraints);
   
  userFieldsPanelConstraints.anchor = GridBagConstraints.NORTHEAST;
  userFieldsPanelConstraints.gridx = 0;
  userFieldsPanelConstraints.gridy = 1;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;  
  userFieldsPanel.add(passwordLabel, userFieldsPanelConstraints);
   
  userFieldsPanelConstraints.weightx = 100;
  userFieldsPanelConstraints.insets = new Insets(2,1,2,0);
  userFieldsPanelConstraints.anchor = GridBagConstraints.SOUTHWEST;
  userFieldsPanelConstraints.gridx = 1;
  userFieldsPanelConstraints.gridy = 0;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;
  userFieldsPanel.add(userField, userFieldsPanelConstraints);
   
  userFieldsPanelConstraints.anchor = GridBagConstraints.NORTHWEST;
  userFieldsPanelConstraints.gridx = 1;
  userFieldsPanelConstraints.gridy = 1;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;
  userFieldsPanel.add(passwordField, userFieldsPanelConstraints);
   
   
  /*
   * Remplissage des JPanels
   *  -> fieldsPanel
   */
  GridBagConstraints fieldsPanelConstraints = new GridBagConstraints();
  fieldsPanelConstraints.weightx   = 100;
  fieldsPanelConstraints.weighty   = 100;
  fieldsPanelConstraints.insets  = new Insets(3,3,3,3);
  fieldsPanelConstraints.fill  = GridBagConstraints.BOTH;
  fieldsPanelConstraints.anchor  = GridBagConstraints.CENTER;
   
  fieldsPanelConstraints.gridx  = 0;
  fieldsPanelConstraints.gridy  = 0;
  fieldsPanelConstraints.gridwidth = 1;
  fieldsPanelConstraints.gridheight = 1;
  fieldsPanelConstraints.anchor  = GridBagConstraints.NORTH;
  fieldsPanel.add(serverFieldsPanel, fieldsPanelConstraints);
   
  fieldsPanelConstraints.insets  = new Insets(0,20,0,20);
  fieldsPanelConstraints.gridx  = 0;
  fieldsPanelConstraints.gridy  = 1;
  fieldsPanelConstraints.gridwidth = 1;
  fieldsPanelConstraints.gridheight = 1;
  fieldsPanel.add(userFieldsPanel, fieldsPanelConstraints);
   
  fieldsPanelConstraints.fill  = GridBagConstraints.NONE;
  fieldsPanelConstraints.anchor  = GridBagConstraints.CENTER;
  fieldsPanelConstraints.insets  = new Insets(3,3,3,3);
  fieldsPanelConstraints.gridx  = 0;
  fieldsPanelConstraints.gridy  = 2;
  fieldsPanelConstraints.gridwidth = 1;
  fieldsPanelConstraints.gridheight = 1;
  fieldsPanel.add(connectBtn, fieldsPanelConstraints);
   
  /*
   * Ajout des composants  
   */
  connectWindowConstraints.weightx = 100;
  connectWindowConstraints.weighty = 100;
  connectWindowConstraints.insets  = new Insets(0,0,0,0);
  connectWindowConstraints.fill  = GridBagConstraints.BOTH;
  connectWindowConstraints.anchor  = GridBagConstraints.CENTER;
   
  connectWindowConstraints.gridx  = 0;
  connectWindowConstraints.gridy  = 0;
  connectWindowConstraints.gridwidth = 1;
  connectWindowConstraints.gridheight = 1;
  conteneur.add(titleImage, connectWindowConstraints);
   
  connectWindowConstraints.anchor  = GridBagConstraints.SOUTH;
  connectWindowConstraints.gridx  = 0;
  connectWindowConstraints.gridy  = 1;
  connectWindowConstraints.gridwidth = 1;
  connectWindowConstraints.gridheight = 1;
  conteneur.add(fieldsPanel, connectWindowConstraints);

 

[jfdsdjhfuetppo]--Message édité par veryfree le 21-05-2002 à 21:47:11--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 21-05-2002 à 21:45:29  profilanswer
 

n°141974
darklord
You're welcome
Posté le 21-05-2002 à 21:46:04  profilanswer
 

intelliJ  :love:  
 
franchement il est formidable cet IDE. Depuis que je l'utilise je suis vraiment bcp plus rapide.
 
Le meilleur selon moi ...


---------------
Just because you feel good does not make you right
n°141976
HappyHarry
Posté le 21-05-2002 à 21:47:14  profilanswer
 

veryfree a écrit a écrit :

non arrete c pas pourris
les composants graphic sont assez jolie et puis il suffis de maitrisé l instru
 
dans la FAQ il doit y avoir des pas mal de bon site qui te permettent d apprendre a crée de belle appli
 
mais c lair que 100 ligne de code pour 6 composants c po evident

Citation :

 
  GridBagConstraints userFieldsPanelConstraints = new GridBagConstraints();
  userFieldsPanelConstraints.weightx  = 0;
  userFieldsPanelConstraints.weighty  = 100;
  userFieldsPanelConstraints.insets = new Insets(2,0,2,1);
  userFieldsPanelConstraints.fill  = GridBagConstraints.HORIZONTAL;
  userFieldsPanelConstraints.anchor = GridBagConstraints.SOUTHEAST;
   
  userFieldsPanelConstraints.gridx = 0;
  userFieldsPanelConstraints.gridy = 0;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;
  userFieldsPanel.add(userLabel, userFieldsPanelConstraints);
   
  userFieldsPanelConstraints.anchor = GridBagConstraints.NORTHEAST;
  userFieldsPanelConstraints.gridx = 0;
  userFieldsPanelConstraints.gridy = 1;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;  
  userFieldsPanel.add(passwordLabel, userFieldsPanelConstraints);
   
  userFieldsPanelConstraints.weightx = 100;
  userFieldsPanelConstraints.insets = new Insets(2,1,2,0);
  userFieldsPanelConstraints.anchor = GridBagConstraints.SOUTHWEST;
  userFieldsPanelConstraints.gridx = 1;
  userFieldsPanelConstraints.gridy = 0;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;
  userFieldsPanel.add(userField, userFieldsPanelConstraints);
   
  userFieldsPanelConstraints.anchor = GridBagConstraints.NORTHWEST;
  userFieldsPanelConstraints.gridx = 1;
  userFieldsPanelConstraints.gridy = 1;
  userFieldsPanelConstraints.gridwidth = 1;
  userFieldsPanelConstraints.gridheight = 1;
  userFieldsPanel.add(passwordField, userFieldsPanelConstraints);
   
   
  /*
   * Remplissage des JPanels
   *  -> fieldsPanel
   */
  GridBagConstraints fieldsPanelConstraints = new GridBagConstraints();
  fieldsPanelConstraints.weightx   = 100;
  fieldsPanelConstraints.weighty   = 100;
  fieldsPanelConstraints.insets  = new Insets(3,3,3,3);
  fieldsPanelConstraints.fill  = GridBagConstraints.BOTH;
  fieldsPanelConstraints.anchor  = GridBagConstraints.CENTER;
   
  fieldsPanelConstraints.gridx  = 0;
  fieldsPanelConstraints.gridy  = 0;
  fieldsPanelConstraints.gridwidth = 1;
  fieldsPanelConstraints.gridheight = 1;
  fieldsPanelConstraints.anchor  = GridBagConstraints.NORTH;
  fieldsPanel.add(serverFieldsPanel, fieldsPanelConstraints);
   
  fieldsPanelConstraints.insets  = new Insets(0,20,0,20);
  fieldsPanelConstraints.gridx  = 0;
  fieldsPanelConstraints.gridy  = 1;
  fieldsPanelConstraints.gridwidth = 1;
  fieldsPanelConstraints.gridheight = 1;
  fieldsPanel.add(userFieldsPanel, fieldsPanelConstraints);
   
  fieldsPanelConstraints.fill  = GridBagConstraints.NONE;
  fieldsPanelConstraints.anchor  = GridBagConstraints.CENTER;
  fieldsPanelConstraints.insets  = new Insets(3,3,3,3);
  fieldsPanelConstraints.gridx  = 0;
  fieldsPanelConstraints.gridy  = 2;
  fieldsPanelConstraints.gridwidth = 1;
  fieldsPanelConstraints.gridheight = 1;
  fieldsPanel.add(connectBtn, fieldsPanelConstraints);
   
  /*
   * Ajout des composants  
   */
  connectWindowConstraints.weightx = 100;
  connectWindowConstraints.weighty = 100;
  connectWindowConstraints.insets  = new Insets(0,0,0,0);
  connectWindowConstraints.fill  = GridBagConstraints.BOTH;
  connectWindowConstraints.anchor  = GridBagConstraints.CENTER;
   
  connectWindowConstraints.gridx  = 0;
  connectWindowConstraints.gridy  = 0;
  connectWindowConstraints.gridwidth = 1;
  connectWindowConstraints.gridheight = 1;
  conteneur.add(titleImage, connectWindowConstraints);
   
  connectWindowConstraints.anchor  = GridBagConstraints.SOUTH;
  connectWindowConstraints.gridx  = 0;
  connectWindowConstraints.gridy  = 1;
  connectWindowConstraints.gridwidth = 1;
  connectWindowConstraints.gridheight = 1;
  conteneur.add(fieldsPanel, connectWindowConstraints);

 




 
c de ca que je parlais quand je disais "un peu long"  :lol:
encore que perso, je suis pas fan du gridbag

 

[jfdsdjhfuetppo]--Message édité par HappyHarry le 21-05-2002 à 21:47:45--[/jfdsdjhfuetppo]

n°142027
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-05-2002 à 22:19:17  profilanswer
 

veryfree> tu me fais peur avec ton code !!! :heink:  
 
putain, je me mets au Java afin de pouvoir faire des progs sous Linux sans me taper toute la documentation de X-Window, KDE et autres joyeusetés, et je me rends compte que c encore pire apparemment  :cry:  
 
Java semble un langage intéressant, mais si le framework .NET est porté sous Linux, mon choix sera vite fait : le C# et rien d'autre !


---------------
J'ai un string dans l'array (Paris Hilton)
n°142030
HappyHarry
Posté le 21-05-2002 à 22:20:22  profilanswer
 

Harkonnen a écrit a écrit :

veryfree> tu me fais peur avec ton code !!! :heink:  
 
putain, je me mets au Java afin de pouvoir faire des progs sous Linux sans me taper toute la documentation de X-Window, KDE et autres joyeusetés, et je me rends compte que c encore pire apparemment  :cry:  
 
Java semble un langage intéressant, mais si le framework .NET est porté sous Linux, mon choix sera vite fait : le C# et rien d'autre !  




 
ce qu'il t'a montré c un cas extreme, t pas obligé de faire ca pour faire un truc joli ...

n°142039
veryfree
Posté le 21-05-2002 à 22:22:37  profilanswer
 

regarde des projets libre sur le net tu veras ce qu il en est des interfaces utilisateurs...

n°142040
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-05-2002 à 22:23:16  profilanswer
 

HappyHarry a écrit a écrit :

 
 
ce qu'il t'a montré c un cas extreme, t pas obligé de faire ca pour faire un truc joli ...  




j'espere bien... je suis en train de décortiquer des sources et c'est vrai que les GUI sont quand meme assez tordues...


---------------
J'ai un string dans l'array (Paris Hilton)
n°142041
darklord
You're welcome
Posté le 21-05-2002 à 22:23:56  profilanswer
 

Harkonnen a écrit a écrit :

 
j'espere bien... je suis en train de décortiquer des sources et c'est vrai que les GUI sont quand meme assez tordues...  




 
je confirme mais il me semble néanmoins que c'est faisable


---------------
Just because you feel good does not make you right
n°142042
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-05-2002 à 22:24:10  profilanswer
 

veryfree a écrit a écrit :

regarde des projets libre sur le net tu veras ce qu il en est des interfaces utilisateurs...  




grilled  :D


---------------
J'ai un string dans l'array (Paris Hilton)
n°142047
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-05-2002 à 22:26:17  profilanswer
 

DarkLord a écrit a écrit :

intelliJ  :love:  
 
franchement il est formidable cet IDE. Depuis que je l'utilise je suis vraiment bcp plus rapide.
 
Le meilleur selon moi ...  




je vais tester pour voir


---------------
J'ai un string dans l'array (Paris Hilton)
n°142049
darklord
You're welcome
Posté le 21-05-2002 à 22:27:31  profilanswer
 

tu peux ! et si tu as des questions, contacte moi


---------------
Just because you feel good does not make you right
n°142052
HappyHarry
Posté le 21-05-2002 à 22:28:37  profilanswer
 

pfff... bande de sauvages  ;)

n°142055
darklord
You're welcome
Posté le 21-05-2002 à 22:30:45  profilanswer
 

:??:


---------------
Just because you feel good does not make you right
n°142085
Ev@NgeluS
ouh...c'est tendu!
Posté le 21-05-2002 à 22:51:43  profilanswer
 

Un seul editeur!!!
windows-user ou linux-user....  [:yaisse1]EMACS[:yaisse2]
 
 
j'arrive trop tard, oki je sors:D

 

[jfdsdjhfuetppo]--Message édité par Ev@nGeLuS le 21-05-2002 à 22:53:01--[/jfdsdjhfuetppo]

n°142139
gfive
Posté le 22-05-2002 à 08:10:24  profilanswer
 

Ouais, son code, là, c'est un truc de fou!! :D:D (désolé, hein) Mais bon, on peut très bien s'en tirer avec des layouts beaucoup plus simples que le GridBag (tu pourra faire  un peu moins de choses, c'est sûr, mais bon, tu t'en sortira dans 95% des cas)  
Mais bon, les GUI, en Java, franchement, c pas compliqué...Les composants principaux existent, ils sont assez faciles à utiliser quand on a un peu de pratique, et avec beaucoup de pratique, on s'aperçoit qu'ils sont méchamment puissants (JTable, JTextArea, etc, etc...)
 
Ouala, ben bon courage, alors! ;)

n°142147
benou
Posté le 22-05-2002 à 09:02:40  profilanswer
 

moi je trouve ca quand même vachement bien foutu les GUI en Java.
 
Au début c'est un peu complexe, mais après tu arrives vraiment à faire ce que tu veux.
 
Et puis d'un point de vue architecture objet, je suis en admiration devant swing. Comment c'est trop fort !!!
 
Y a qu'à voir la puissance du JTable. C'est carrément terrible !
 
Sinon moi non plus je suis pas fan de JBuilder. Ya pas longtemps j'ai essayé defaire une interface graphique, bha c'est la merde. Si tu passes pas par un layout XY, c'est le bordel !
 
Moi mes préférés c'est le BorderLayout et le GridLayout.
Quel dommage qu'il y a ait pas un "FrameLayout" sur lequel on pourrait définir des pourcentages. Un truc du style :  
new FrameLayout(FrameLayout.HORIZONTAL, 30, 70);
 
qui c'est qui veut me le coder ??? :D

n°142155
gfive
Posté le 22-05-2002 à 09:10:57  profilanswer
 

benou a écrit a écrit :

moi je trouve ca quand même vachement bien foutu les GUI en Java.
 
Au début c'est un peu complexe, mais après tu arrives vraiment à faire ce que tu veux.
 
Et puis d'un point de vue architecture objet, je suis en admiration devant swing. Comment c'est trop fort !!!
 
Y a qu'à voir la puissance du JTable. C'est carrément terrible !
 
Sinon moi non plus je suis pas fan de JBuilder. Ya pas longtemps j'ai essayé defaire une interface graphique, bha c'est la merde. Si tu passes pas par un layout XY, c'est le bordel !
 
Moi mes préférés c'est le BorderLayout et le GridLayout.
Quel dommage qu'il y a ait pas un "FrameLayout" sur lequel on pourrait définir des pourcentages. Un truc du style :  
new FrameLayout(FrameLayout.HORIZONTAL, 30, 70);
 
qui c'est qui veut me le coder ??? :D  




 
C'est un défi?? :D:D Non, sans dec, ce serait pas mal, ton truc... J em'y met quand j'ai un peu de temps! :D:D

n°142172
benou
Posté le 22-05-2002 à 09:38:17  profilanswer
 

gfive a écrit a écrit :

 
C'est un défi?? :D:D Non, sans dec, ce serait pas mal, ton truc... J em'y met quand j'ai un peu de temps! :D:D  




 
ouaiss !!!!!! :love:


---------------
ma vie, mon oeuvre - HomePlayer
n°142181
darklord
You're welcome
Posté le 22-05-2002 à 09:42:34  profilanswer
 

:hap:


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Utilité des layouts ?

 

Sujets relatifs
[Java] petit probleme pour lancer un exe via java[JAVA] Repaint ne marche pas :(((( [Resolu]
[java]probleme avec les icone[java] A Java-to-C Translator
[java] erreur : "duplicate class"[JAVA] Gestion des évênements
[java]Ou trouver "com.sun.java.swing.plaf.mac " [resolu][java] Lecture des variables d'environement de windows [résolu]
[JAVA/JINI]Comment ca marche ? (desoler question vague ....)java servlets, mysql, singleton, bug... on va bien s'amuser !!
Plus de sujets relatifs à : [JAVA] Utilité des layouts ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR