Il existe de nombreux frameworks gui pour java, mais qu'est-ce qui est reconnu comme le framework de choix actuel?
Ce qui suit est ma compréhension des différents cadres, veuillez me corriger si je me trompe. Il s'agit d'un ensemble de questions très vaguement défini, mais je pense toujours que c'est utile pour quiconque envisage de créer de riches applications graphiques.
Est le fondement même du swing, il fonctionne bien mais manque de composants avancés. Si vous avez l'intention de créer des applications riches, AWT n'est probablement pas la voie à suivre. Cependant, pour les petites applications graphiques qui ne nécessitent pas d'interfaces utilisateur riches. Cela pourrait parfaitement convenir car c'est un cadre éprouvé et éprouvé.
Basé sur AWT comme indiqué précédemment. À ses débuts, il était considéré comme lent et bogué et a amené IBM à créer SWT pour Eclipse. Cependant avec Java 5 (ou 6?) Swing est devenu le cadre de choix pour la construction de nouvelles applications. Swing a beaucoup de composants riches mais manque toujours dans certaines régions. Un exemple étant qu'il n'y a pas de composant TreeTable complet qui peut faire le tri et le filtrage / recherche.
Créés par IBM pour Eclipse, ils semblaient penser que Swing n'était pas adapté à Eclipse à l'époque. En soi, c'est assez bas niveau, et il utilise les widgets natifs de la plateforme via JNI. Il n'est pas du tout lié à Swing et AWT. Leur API est cependant quelque peu maladroite et pas intuitive. Ils ont des composants avancés comme un TreeTable. (mais je ne pense pas qu'ils prennent en charge le tri et le filtrage hors de la boîte). SWT utilise des liaisons natives (via JNI?) Et la diatribe sur Internet est que ce cadre ne devrait pas être utilisé dans les projets d'aujourd'hui. (pourquoi pas?)
Basé sur Swing et sa mission est de créer des composants riches pour le swing. Toujours en développement. (pas très actif cependant.) Avoir un très bel ensemble de composants, comme par exemple TreeTable. Mais le TreeTable ne prend pas en charge le filtrage et le tri pour autant que je sache. Il prend cependant en charge la recherche avec mise en évidence.
Notez que SwingX est des composants (AFAIU) qui sont des extensions ou des compositions de composants Swing existants
JGoodies
Un cadre dont je ne connais rien ... Quels sont ses points forts et ses points faibles? Qu'est-ce qui distingue les Jgoodies des autres?
JGoodies OTOH concerne les PLAF et les mises en page.
Le dernier fleuron de Java / Oracle. promettant d'être la norme de facto dans le développement d'applications bureautiques ou Web riches.
Il rend l'interface utilisateur à l'aide de Java2D, minimisant ainsi l'impact des héritages (IMO, gonflés) de Swing et AWT. (@Augustus Thoo)
Son objectif principal semble être le RIA (applications Internet riches), mais il semble qu'il puisse également être appliqué aux applications de bureau. Et comme commentaire personnel, ça a l'air très intéressant! J'aime particulièrement que c'est un projet apache.
https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html
Un wrapper java pour la bibliothèque qt native qui est écrit en c / c ++. Très puissant, largement utilisé et accepté. A beaucoup de composants GUI et une API facile à utiliser.
Donc, pour essayer de résumer un peu ce que je demande:
Supposons que je veuille créer une application de bureau aujourd'hui en Java qui implique de nombreux composants avancés, que dois-je choisir? Et pourquoi?
Lequel de ces cadres devrait être reconnu comme obsolète et lequel devrait être reconnu comme le cadre d'un avenir lointain?
Quel est le cadre standard de facto d'aujourd'hui et quels outils utilisez-vous pour créer des applications jui gui?
Je pourrais regretter d'avoir posé cette question, mais j'essaierai mal de toute façon:
C # /. Net aurait un très bon ensemble de composants faciles à utiliser qui peuvent être fléchis dans toutes les directions possibles. Et après avoir étudié différents cadres java dans une certaine mesure, je ne peux pas sembler en dire autant de Java. Pourquoi est-ce? Pourquoi java (qui est le langage de programmation le plus utilisé au monde) n'a-t-il pas le même ensemble de composants GUI?
Est-ce simplement que java a basé ses composants gui à un niveau beaucoup plus bas, et il est possible d'écrire tous ces composants avancés que je cherche, mais vous devez faire beaucoup sinon la totalité du travail vous-même?