-
Java2D, awt et swing
Bonjour,
J'ai bien compris la différence entre Swing et awt, swing étant la nouvelle génération de composant.
Mais où situer java2D dans tout ça?
C'est une librairie faisant partie de Swing? D'awt? des deux?
Ou est-ce une librairie à part?
J'ai cherché sur le net mais je ne trouve pas d'explication clair à ce sujet.
J'espère que vous pourrez m'aider.
Merci par avance.
-
Java2d est une des librairies fournies par AWT permettant de faire du dessin sur une source graphique X (qui peut être aussi bien une image, qu'un composant ou une imprimante).
Swing qui est basé sur cette librairie pour l'intégralité de ses widgets. Tout élément Swing est dessiné en utilisant java2d sur une surface, et donc Swing n'utilises pas les Widgets natifs du système d'exploitation hôte comme le fait AWT.
-
Merci pour ces précisions, je vois les choses plus clair maintenant.
Donc Java2d est la librairie qui nous permet de faire les interfaces en java, interface multi os car n'utilisant pas les composants du systeme d'exploitation.
Il me semble que java2D utilise openGl non?
Si je veux par exemple faire un petit pac man utilisant OpenGl, je peux utiliser les graphics2d de java2d?
Encore merci pour ton aide
-
C'est pas encore tout à fait clair dans ta tête nettement.
Java2d est une API (via le mécanisme de Graphics) qui permet de faire du dessin sur une surface. Point barre, elle n'a que peu de choses à voir avecs les librairies d'inferfaces graphiques comme Swing (qui utilise Java2D pour le dessin des composants).
Ensuite son implémentation (qui est cachée du développeur) s'appuie sur un pipeline. Ce pipeline peut être codé de différentes façon suivant l'OS: en full software, avec directX ou encore avec OpenGL. Toutefois tu n'accèderas pas aux fonctionnalités du pipeline via Java2D. Java2D n'offre que les primitives de dessin 2D suffisantes pour faire de composants, dessiner sur une image, créer un jeu 2D et ainsi de suiteµ. Pas pour faire de la 3D ou ce genre de choses.
-
Ok mais si je veux juste faire un jeu 2d, je peux utiliser graphics2d non?
C'est pour faire un jeu de carte mais je veux pas qu'il ait l'apparence d'un logiciel donc je veux pas utiliser les composant swing.
Donc c'est pour ça que je cherche a comprendre comment utiliser java2d pour avoir un rendu jeu.
Je pensait que graphics2d allait utiliser opengl ou directx.
Donc si je veux faire mon jeu en java2d, je vais en fais passer par des composant awt c'est ça?
Merci pour ton aide :)