2010-12-18 14 views
8

He leído que JFrame está hecho de varios paneles ... ¿Qué son los paneles y por qué está hecho Jframe de paneles? Y por qué hay un JPanel mientras parece que el JFrame se ve exactamente como el JPanel pero con una barra de menú y un botón de cerrar, entonces ¿cuál es la necesidad de un JPanel? ¿Alguien puede explicarme claramente la definición y el uso de esos 3 componentes?¿De qué sirve un marco, un panel o un panel en oscilación?

Respuesta

15

Hay contenedores de nivel superior como JFrame. Estos pueden servir como la ventana principal en la que se construye una GUI.

Luego hay contenedores de nivel intermedio. Deben colocarse en otros contenedores, no pueden existir por sí mismos. O lo ayudan a organizar componentes o le agregan funcionalidad. Un JPanel es un contenedor muy simple que le ayuda a organizar otros componentes. Mientras que un JSplitPane agrega la funcionalidad de tener dos paneles que son de tamaño variable.

Cuando tenga una GUI compleja, puede utilizar JPanels para organizar varias áreas de su GUI y luego agregar cada uno de los paneles a su JFrame.

En Java, la API de Swing utiliza el Composite Design Pattern. Esto significa que puede componer objetos muy complejos de otros objetos y aún tratar los objetos compuestos de la misma manera que los objetos simples. Entonces puedes poner un JPanel en un JPanel y aún se comporta como un JPanel.

Piense en ello como una caja de aparejos (o kit de costura). Está hecho de un gran contenedor. Pero en lugar de poner muchos objetos pequeños en este gran contenedor y dificultar su administración más adelante, puede colocar algunos compartimentos más pequeños dentro de la caja grande. Luego, los ganchos y los plomakers, etc. entran en los compartimentos. Es más fácil de administrar La caja grande es el JFrame y los compartimentos son los JPanels.

+2

Lo entiendo ... pero todavía tengo otra pregunta. En mi libro, hay una figura del JFrame que dice que está hecha de varios paneles: el panel raíz, el panel en capas, el panel de contenido y el panel de vidrio, ¿cuál es la necesidad de todos? Y es un panel == un panel ?? – Ahmed

+2

Los marcos son objetos extremadamente complejos que deben cubrir una gran cantidad de situaciones. Deberían comportarse de manera similar en varias plataformas diferentes, dicen. Para lograr esto, es necesario separar las responsabilidades de varias cosas en sus propios componentes. Esta página: http://download.oracle.com/javase/7/docs/api/javax/swing/JRootPane.html lo ayudo a comprender el propósito de algunos de los paneles que mencionó. –

Cuestiones relacionadas