Está en la página 1de 4

ISTP: Manuel Seoane Corrales Java Swing

PRÁCTICA Nº 06 
Diseñe  una  aplicación  con  dos  frames,  uno  de  bienvenida  y  otro  de  despedida  activados  a 
través de botones como se muestra a continuación: 

PROCEDIMIENTO: 

1. Crea un nuevo proyecto y un nuevo paquete con el nombre practica06. 
2. Clic  derecho  en  el  paquete  creado,  elegimos  nuevo  JPanel  Form  de  nombre 
PanelPrincipal con distribución BoderLayout. 
3. En  el  norte  ponemos  otro  panel  con  distribución  FlowLayout  para  los  botones  como 
muestra la siguiente imagen. 
 
 
 
 
 
 
 
 
 
 
Observe la distribución de los objetos y los nombres de variable utilizados. 

Lic. Bernardo C. Hermitaño Atencio 
 
ISTP: Manuel Seoane Corrales Java Swing
 

4. Clic derecho en el paquete para crear un nuevo JFrame Form de nombre FrameSaludo 
con distribución BorderLayout en cuya parte central pondremos una etiqueta con una 
imagen como icono. 

5. Clic  derecho  en  el  paquete  para  crear  otro  JFrame  de  nombre  FrameDespedida  con 
distribución  BorderLayout  en  cuya  parte  central  pondremos  un  JScrollPane  y  encima 
una etiqueta con una imagen como icono. 

Recuerde que para utilizar imágenes se recomienda ponerlas en una carpeta images 
dentro de la carpeta src del proyecto que estamos desarrollando. 

Lic. Bernardo C. Hermitaño Atencio 
 
ISTP: Manuel Seoane Corrales Java Swing
 

6. Nuevamente clic derecho en el paquete para crear un nuevo JFrame Form de nombre 
Principal con distribución BorderLayout en cuyo source escribimos lo siguiente: 

 
public class Principal extends javax.swing.JFrame { 
          private FrameSaludo fs; 
        private FrameDespedida fd; 
   
    /** Creates new form Principal */ 
      public Principal() { 
        initComponents(); 
          add(new PanelPrincipal(this)); 
        setSize(200,200); 
           
        fs=new FrameSaludo(); 
          fs.setSize(400,400); 
        fs.setLocation(100,100); 
          fs.setVisible(false); 
         
 
        fd = new FrameDespedida(); 
        fd.setSize(600,400); 
 
        fd.setLocation(300,100); 
          fd.setVisible(false); 
    } 
      public FrameSaludo getSaludo(){ return fs;} 
    public FrameDespedida getDespedida(){ return fd;} 
   

Como se puede ver, se declaran dos atributos privados para utilizar los frames, l uego 
en  el  constructor  colocamos  el  panel  principal  dando  a  su  constructor  el  contexto 
gráfico  de  éste  frame  (this)  y  definimos  el  tamaño  del  frame.  Luego  creamos  los 
frames  de  saludo  y  despedida  colocando  algunas  propiedades  como  tamaño, 
ubicación y visibilidad. Finalmente escribimos el código de los métodos que retornan 
los objetos de los frames. 

7. Corregimos el source del PanelPrincipal para que reciba el contexto gráfico del frame. 
Escribimos como muestra a continuación. 
 
 
  public class PanelPrincipal extends javax.swing.JPanel { 
      Principal guip; 
    /** Creates new form PanelPrincipal */ 
      public PanelPrincipal(Principal guip) { 
        initComponents(); 
          this.guip = guip; 
    } 
 

Lic. Bernardo C. Hermitaño Atencio 
 
ISTP: Manuel Seoane Corrales Java Swing
 

8. Programamos la acción de  los botones que están en el panel principal. 
 
  private void btnSaludoActionPerformed(java.awt.event.ActionEvent evt) {          
        // TODO add your handling code here: 
 
        guip.getSaludo().setVisible(true);                                          
          guip.getDespedida().setVisible(false); 
  
      } 
  
      private void btnDespedidaActionPerformed(java.awt.event.ActionEvent 
  evt) {                                              
        // TODO add your handling code here: 
 
        guip.getSaludo().setVisible(false);                                             
          guip.getDespedida().setVisible(true); 
      } 
 
 
 
 
9. Compilar y ejecutar el proyecto. 
Nota: Cuando se tienen varios paneles y/o frames dentro de  unmismo proyecto , se 
recomienda  compilar  todo  el  proyecto  con  la  siguiente  opción:  Build,  Clean  an  Build 
Main Proyect. 
 
 

Lic. Bernardo C. Hermitaño Atencio 
 

También podría gustarte