Foros del Web » Programación para mayores de 30 ;) » Java »

Mi primer Programa

Estas en el tema de Mi primer Programa en el foro de Java en Foros del Web. Espero que aunque poniendo este título alguien lea el Post. He programada hasta ahora con PHP pero me he querido sumergir en el mundo de ...
  #1 (permalink)  
Antiguo 31/08/2009, 02:50
 
Fecha de Ingreso: octubre-2006
Mensajes: 21
Antigüedad: 17 años, 6 meses
Puntos: 0
Mi primer Programa

Espero que aunque poniendo este título alguien lea el Post.

He programada hasta ahora con PHP pero me he querido sumergir en el mundo de Java y me está gustando.
Me he hecho ya varios programitas de acceso a BD, y de inquietudes personales que quería tener.

Ahora me estaba haciendo un GUI donde reunir todos estos programas, donde hay una ventana principal con unos botones en la parte superior, que pulsandolos muestran en la parte central de la pantalla las diferentes aplicaciones.
Bueno esa es la idea, porque llevo varios dias intentandolo y no lo hace bien. Lo he intentado hacer de varias formas:
1) Un Frame principal, y sobre este se ecuctan panels que se hacen visibles según pulsas los botonoes. Lo que implica que se ejecutan primero todas las aplicaciones sin haber abierto ninguna, lo cual no me acaba de agradar.

2) Lo he probado recargando el main() pasandole un parametro segun la aplicación quiero que se ejecute, pero cada vez se cargar un Frame, lo cual tengo al final una ventana por cada aplicación.

3) He probado heredando el GUI de de la pantalla general, realizar llamadas entre ellos, pero no sé si es muy eficiente devolver tablas enteras ya construídas de una classe a otra.

Bueno, entiendo que es una pregunta muy abstracta, pero tambien decir que es mi primer programa y soy autodidacta.
La cuestión es: cual es la filosofía de implementa típica para conseguir el comportamiento descrito?
Aunque sea una referencia para saber por donde buscar, ya que puestos a leer posts, no sabría por donde buscar, ya que no se si es cuestión de lógica de panels, de frames, si simplemente son llamadas a objetos, etc.

Gracias de Antemano.
  #2 (permalink)  
Antiguo 31/08/2009, 03:50
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Mi primer Programa

Hola:

Haz un JPanel distinto para cada una de las aplicaciones. Guarda en algún sitio una variable por cada aplicacion para guardar el panel, pero inicializa esas variables a null, no hagas los new todavía

Código:
JPanelAplicacion1 panel1=null;
JPanelAplicacion2 panel2=null;
Haz un JPanel con los botones que arrancarían cada una de las aplicaciones.

Haz un JFrame con un BorderLayout. En el NORTH del BorderLayout pon el JPanel con los botones. No añadas de momento ningún JPanel de aplicación en el CENTER.

Cada vez que se pulse un botón, deberías hacer lo siguiente:

- Ver si había una aplicación anteriormente arrancada. Debes entonces retirar el panel correspondiente del JFrame, usando el método remove().

- Ver si la nueva aplicación ya se había instanciado alguna vez (basta ver si el panel correspondiente es null o no). Si no se había instanciado, haz el new del panel correspondiente a la aplicación y añadelo al frame (add(panel.BorderLayout.CENTER). Si ya se había instanciado, reutiliza el panel que deberías tener guardado en algún sitio.

- Guarda dicho panel el alguna variable auxiliar, de forma que luego puedas hacer el remove de dicho panel.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 31/08/2009, 08:58
 
Fecha de Ingreso: octubre-2006
Mensajes: 21
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Mi primer Programa

Muchas Gracias, me has aclarado muchas dudas. Voy a probar.

De momento una pregunta, cuando utilizar layout y cuando utilitzar panels? Porque yo habia compuesto la pantalla de igual forma que me lo planteas pero el layout era tambien para mi un panel general. Que cosas se pueden hacer y no se pueden hacer con los panels y que con los layouts?

Gracias.
  #4 (permalink)  
Antiguo 01/09/2009, 10:08
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Mi primer Programa

Panel y Layout son cosas distintas.

Un Panel es un contenedor que permite tener dentro otros componentes, como botones, etiquetas, listas, tablas, etc. Layout es la clase que está dentro de panel y decide cómo colocar esos componentes.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:08.