47 votes

Différence entre JPanel, JFrame, JComponent et JApplet

Je faisais un simulateur de physique pour le plaisir et je cherchais des tutoriels graphiques lorsque j’essayais de comprendre la différence entre tous ces J. Quelqu'un pourrait-il élaborer sur eux ou peut-être fournir un lien vers une source utile?

45voto

Kelly S. French Points 7634

Ces classes sont communs des points d'extension pour Java dessins de l'INTERFACE utilisateur. Tout d'abord, se rendre compte qu'ils ne sont pas forcément grand chose à voir les uns avec les autres directement, donc essayer de trouver une relation entre eux pourrait être contre-productive.

JApplet - Une classe de base qui vous permet d'écrire du code qui sera exécuté dans le contexte d'un navigateur, comme pour une page web interactive. C'est cool et tout, mais il apporte des limitations, qui est le prix pour jouer gentil dans le monde réel. Normalement JApplet est utilisé lorsque vous voulez avoir votre propre INTERFACE utilisateur dans une page web. Je me suis toujours demandé pourquoi les gens ne prennent pas avantage des applets pour stocker l'état d'une session, donc pas de base de données ou des cookies sont nécessaires.

JComponent - Une classe de base pour les objets qui ont l'intention d'interagir avec Swing.

JFrame - Utilisé pour représenter les choses, une fenêtre devrait avoir. Cela inclut les frontières (redimensionnables o/n?), barre de titre (nom de l'Application ou d'autres messages), les contrôles (minimiser/maximiser permis?), et des gestionnaires d'événements pour les différents événements du système comme "fenêtre close' (permis app pour sortir encore?).

Composite - classe Générique utilisé pour recueillir d'autres éléments de l'ensemble. Ce qui est plus important dans le travail avec la mise en page visuelle ou d'un des gestionnaires de disposition par ex. gridbaglayout, etc. Par exemple, vous avez une zone de texte qui est plus grande que la zone que vous avez réservés. Placer la zone de texte dans un volet de défilement et de mettre ce volet en Composite. Puis lorsque vous placez le Composite, il sera plus facile à gérer en termes de mise en page.

20voto

aco Points 137

JFrame et JApplet sont top au niveau des conteneurs. Si vous souhaitez créer de l'application de bureau, vous utilisez JFrame et si vous envisagez d'héberger votre application dans le navigateur que vous utilisez JApplet.

JComponent est la classe abstraite pour tous Swing composantes et vous pouvez l'utiliser comme classe de base pour votre nouveau composant. Un composite est simple utilisable compoent vous pouvez utiliser pour presque rien.

Puisque c'est pour le plaisir de projet, de la façon la plus simple pour vous est de travailler avec un Composite et ensuite l'hôte à l'intérieur de JFrame ou JApplet. Netbeans, visual designer pour le Swing avec des exemples simples.

5voto

Vous trouverez peut-être utile pour la recherche de l'classes sur oracle. Par exemple:

http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html

Là vous pouvez voir que JFrame s'étend JComponent et JContainer.

JComponent est un objet de base qui peuvent être tirées, JContainer étend cette sorte que vous pouvez ajouter des éléments. Composite et JFrame à la fois d'étendre JComponent que vous pouvez ajouter des choses. JFrame fournit une fenêtre, alors que le Composite est juste un panneau qui va à l'intérieur d'une fenêtre. Si cela fait sens.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X