Question GroupLayout: vaut-il la peine d'apprendre?


Je suis relativement nouveau en Java (en particulier le swing) et j'ai récemment réalisé des applications assez simples, apprenant au fur et à mesure. Le dernier a beaucoup de composants tels que JLabels, JTextFields, JButtons, etc. Tous ont été placés dans NetBeans en utilisant un générateur visuel. Je dois dire que je ne parle pas vraiment de NetBeans et que je viens juste de concevoir l'interface graphique et de copier le code directement dans Eclipse.

Ma question est la suivante: cela vaut-il la peine d’avoir une très bonne compréhension de GroupLayout et du codage à la main (et donc d’avoir plus de contrôle sur mon interface graphique) ou de continuer comme ça?


10
2018-02-12 21:56


origine


Réponses:


Je dirais que ça vaut le coup de prendre un peu de temps pour comprendre GroupLayout seulement parce que c'est toujours une bonne idée de comprendre ce que fait votre IDE. Connaître ce qui se passe en coulisse vous rend plus flexible, car si vous vous retrouvez dans une situation où vous n’avez pas accès à Netbeans, vous saurez comment reproduire la mise en page qu’elle aurait produite pour vous. De plus, après avoir acquis une expérience décente, vous finirez probablement par gagner du temps. Vous pouvez souvent développer une interface graphique simple plus rapidement à la main qu'en utilisant un éditeur visuel, en particulier compte tenu du temps qu'il vous faut pour copier et coller le code de Netbeans vers Eclipse.

Et bien sûr, apprendre à utiliser GroupLayout à la main, il vous sera également plus facile de passer à l'une des offres Java des autres gestionnaires de disposition, ce qui, à son tour, simplifiera le code et permettra de gagner encore plus de temps.


11
2018-02-12 22:44



GroupLayout n'était pas vraiment conçu pour le codage manuel; c'est beaucoup, beaucoup plus verbeux que tout autre gestionnaire de mise en page (sauf éventuellement GridBagLayout). Puisque vous dites que vous êtes nouveau sur Swing, je suggère de commencer par les gestionnaires de disposition de base (BorderLayout et FlowLayout); vous pouvez les utiliser dans NetBeans en cliquant avec le bouton droit sur le panneau ou le cadre et en choisissant "Définir la mise en page". Une fois que vous êtes familier avec ceux-ci, je vous suggère de vérifier MiGLayout.

Pour répondre à votre autre question: je pense au concepteur de formulaires NetBeans comme à une calculatrice. c'est un outil formidable si vous connaissez déjà les bases, mais vous n'apprendrez jamais rien si vous l'utilisez comme béquille.


10
2018-02-12 22:33



GroupLayout vaut apprendre à utiliser par programmation.

j'utilise GroupLayout comme ma mise en page par défaut sur presque tous les panneaux que je crée et qui utilise des composants Swing standard. Je trouve que les résultats sont toujours très agréables à regarder et se redimensionnent très bien. Je règle toujours ces options:

groupLayout.setAutoCreateGaps(true);
groupLayout.setAutoCreateContainerGaps(true);

L'utilisation répétée de cette disposition ne m'a pas seulement permis d'avoir de superbes mises en page, mais cela m'a permis d'acquérir l'expérience nécessaire pour pouvoir assembler des panneaux complexes avec un nombre de composants inconnu au moment de la compilation. Je trouve aussi, lorsque le nombre de composants est dynamique, que je peux disposer tous les composants puis les allumer et éteindre avec setVisible(boolean) sans recréer les groupes horizontaux et verticaux.


3
2017-11-24 14:34



La plupart des gestionnaires de mise en page les plus complexes ne sont pas destinés à être codés à la main. Vous pouvez le faire, mais vous aurez probablement du mal à comprendre votre propre mise en page dans quelques mois. GroupLayout ne fait pas exception à la règle, pire, il n’est pas intuitif du tout, vous devez contourner votre esprit en forçant votre mise en page en termes GroupLayout.

À mon avis, ces gestionnaires de disposition ne valent pas la peine d'être appris. GridBagLayout est le pire de tous. Il a plus d'options que vous ne pouvez éventuellement imaginer et il ne semble jamais faire ce que vous pensez. MiGLayout est très puissant, raisonnablement intuitif et fait surtout ce que vous pensez, mais je pense toujours que c'est trop puissant et trop compliqué pour lui, ainsi que pour le programmeur. GroupLayout n'est pas aussi puissant, pas aussi intuitif et ne vaut pas la peine.

Mon conseil après des années d’interface graphique Java et de maintenance est d’apprendre et d’utiliser le gestionnaire de disposition le plus puissant que vous puissiez maîtriser en deux heures et de ne jamais oublier. BorderLayout / GridLayout / FlowLayout / BoxLayout.


1
2018-02-13 03:53



Si vous êtes enclin à un style de programme VB, vous passez du temps sur GroupLayouts. Sinon, essayez de comprendre GridBagLayout Manager avec des exemples appropriés. C'est le meilleur pour ceux qui veulent que chaque composant d'interface graphique soit sous notre contrôle de stylo (nous devrions écrire et non l'IDE). Un bon développeur Java doit passer du temps dans des objets graphiques et des objets métier et doit savoir les séparer. L.Sankaranarayanan.


0
2017-12-16 09:12