Java - Sacar un jPanel y colocar otro en el mismo lugar

   
Vista:

Sacar un jPanel y colocar otro en el mismo lugar

Publicado por dvb (6 intervenciones) el 06/01/2009 21:09:02
Hola. Lo que deseo hacer es de un menú ubicado a la izquierda de un JFrame ir apretando botones y que cada botón haga aparecer un panel a la derecha del JFrame, o sea que al apretar un botón desaparezca el jPanel que estaba a la derecha y aparezca otro en la misma ubicación.
Ojala me puedan ayudar. Llevo un par de días intentándolo y no me resulta, solo hago desaparecer el panel pero no logro colocar el nuevo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sacar un jPanel y colocar otro en el mismo luga

Publicado por WEBNESS (57 intervenciones) el 06/01/2009 22:35:31
Hola, hace tiempo hice lo mismo, la forma de hacer aparecer el panel nuevo, obviamente despus de crearlo, y añadirlo al contenedor, es repintar el JFrame o el panel en cuestion algo asi, no me acuerdo bien.

es decir:

frame.add(panelEncuestion);
frame.repaint(); tambien sirve el metodo updateUI();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sacar un jPanel y colocar otro en el mismo luga

Publicado por dvb (6 intervenciones) el 07/01/2009 07:55:56
Hola.
WEBNESS muchas gracias por tu respuesta , me sirvió mucho para guiarme y continuar googleando.
Al fin lo hice de esta manera, lo dejo por si a alguien le entra la misma duda alguna vez.

El cáliz vendría a ser "CardLayout", para aprender a ocuparlo pueden ver estos enlaces: http://club.telepolis.com/mydream/Java/Awt/AWTCardL.html y http://www.cica.es/formacion/JavaTut/Cap4/clayout.html.

Ahora si están ocupando un IDE en mi caso NetBeans y les gusta arrastrar componentes.

1) Elegir el componente al que se quiere agregar CardLayout en el "Inspector" (NetBeans en español), menú con componentes ubicado en la esquina inferior izquierda.
2) Click derecho sobre el componente elegido e ir a "Asignar Diseño"-->"Diseño de carta" (CardLayout)

Y el código necesario para manejar el asunto es:

/************Código*************/
jPanel6.add(this.jPanel1,"menu1");
jPanel6.add(new panel2(),"menu2");
CardLayout paletas = (CardLayout(jPanel6.getLayout());
paletas.show(jPanel6, "menu1");
/************Fin código***********/

Donde jPanel6 viene a ser el Panel principal y sobre el hacemos aparecer el resto de los paneles (jPanel6 es un panel en blanco).

-add, permite agregar componentes en este caso paneles a jPanel6.

-jPanel6.add(this.jPanel1,"menu1"); --> this.jPanel1 es un panel local, o sea esta en la misma clase donde implemente el CardLayout y menu1 es un argumento que identifica al panel jPanel1.

-jPanel6.add(new panel2(),"menu2"); --> lo mismo que la línea anterior solo que en este caso se crea un panel contenido en otra clase.

-CardLayout paletas = (CardLayout(jPanel6.getLayout()); --> Esta es la parte que cambia entre hacerlo con NetBeans o a mano.

Netbeans autogenera el código --> jPanel6.setLayout(new java.awt.CardLayout()); o sea crea el CardLayout para jPanel6 y con CardLayout paletas = (CardLayout(jPanel6.getLayout()); estamos transmitiendo esa información al objeto paletas de tipo CardLayout. Para poder manejar el cambio de paneles a nuestro gusto.

-paletas.show(jPanel6, "menu1");

Esta última línea es la que permite visualizar el componente que deseamos.

Ojala sea de utilidad.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mostrar paneles con botones

Publicado por jair (5 intervenciones) el 12/01/2009 01:12:42
hola amigos.
necesito un favor super urgente.
estoy migrando a netbeans, quiero hacer un menu con botones, estos botones debe llamar a unos
paneles que deben estar ocultos. no se como llamar esos eventos.

muchas gracias por la atencion prestada, y pronta respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar paneles con botones

Publicado por dvb (6 intervenciones) el 12/01/2009 19:54:43
Hola.
Mira, basándose en el ejemplo de mi comentario anterior.

En netbeas solo haces doble click sobre el botón (supongamos el botón de nombre "usuario") y te crea el evento por defecto actionPerformed, si quieres otro ahí lo seleccionas, eso te genera el escucha y todo eso jaja.

Entonces solo basta colocar el método “show” (Se usa para ver el componente, en este caso el panel que vamos a mostrar cuando se presiones un botón) dentro del método que te genera el netbeans.
Algo así.

private void usuarioActionPerformed(java.awt.event.ActionEvent evt) {

paletas.show(jPanel6, "menu1");

}

y wala.
Échale un vistazo al comentario anterior y quizás te quede más claro.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mostrar paneles con botones

Publicado por jair (5 intervenciones) el 12/01/2009 22:26:12
hola.
gracias por la respuesta, pero quiero sacar un
panel que yo haya diseñada.

lo de paletas, no me funciona.
un favor extra, soy nuevo en netbeans desearia q todo fuera
muy paso por paso.

seria mucha molestia si me colaboras con eso.
muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sacar un jPanel y colocar otro en el mismo luga

Publicado por Gianko (2 intervenciones) el 11/10/2012 04:50:09
Muchas gracias, justo necesitaba hacer eso y por más q intentaba no encontraba la forma .... Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar