sábado, 1 de septiembre de 2012

cambio de varios jpanel's en unico jframe

Una obcion util al momento de realizar programas es el cambio de paneles en una misma ventana con el click de un boton  o la seleccion de un menu, puesto que nos separa las diferentes secciones de codigo segun lo necesitemos

primero se añade un jpanel dentro de la ventana  y se le da el tamaño deceado, el panel es la parte seleccionada en el cuadro rojo

 luego se le da click derecho y se va a set Layout(1) que es un tipo de ordenamiento y se selecciona el ordenamiento card layout(2)

se crea los paneles como clases de jpanel que seran los que utilizaremos con cada obcion en este caso tenemos ingresos(1) y modificar(2)

en el jframe se añade este codigo que es el que ara el cambio de paneles, asi tendria que quedar la clase pantalla

package cambioventana;

import java.awt.CardLayout;

/**
 *
 * @author jaac747
 */
public class pantalla extends javax.swing.JFrame {

    /**
     * Creates new form pantalla
     */
    
    private CardLayout paletas;//esta es una obcion que nos permite hacer el cambio de panels en la misma ventana
    private ingreso ingresos=new ingreso();// jpanel que contiene ingresos
    private modificar modifica= new modificar();//jpanel que contiene modificar
    boolean cambios=true;
    public pantalla() {
        initComponents();
        
        //se añade este codigo

        jPanel1.setLocation(WIDTH, WIDTH);// le digo que tenga una localizacion dentreo de la ventana
        jPanel1.add(ingresos,"menu1"); //le indico que ingresos tendra de sobrenombre menu1 y que pertenece a jpanel de ventana
        jPanel1.add(modifica,"menu2");//le indico que modifica tendra el sobrenombre de menu2 y que pertenece a jpanel de ventana

        paletas = (CardLayout)jPanel1.getLayout(); //le agrego la obcion a paletas para que aga el cambio
        paletas.show(jPanel1, "menu1");// le indico que jpanel tendra el cambio y cual panel mostrara
    }
    
    /**
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
   
    /**
     * esto es para que al precionar el boton aga el cambio
     */
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
            if(cambios==true){// comprueva que panel esta como son dos se usa true o false
                paletas.show(jPanel1, "menu2");// hace cambio entre el panel uno  al 2
                cambios= false;
            }else{
                paletas.show(jPanel1, "menu1");// hace cambio entre el panel 2 al 1 
                cambios= true;
            }
    }

    /**
     * @param args the command line arguments
     */

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration
}

No hay comentarios:

Publicar un comentario