jueves, 1 de marzo de 2012

Card LAyout con etiquetas(label)


package VentanasYEventos;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class TestCardLayout extends JFrame{


public static void main(String[] args) {
TestCardLayout frame=new TestCardLayout();
Container container=frame.getContentPane();
JButton siguiente=new JButton("Siguiente");
container.add(siguiente, BorderLayout.NORTH);

JLabel label1=new JLabel("Componente 1");
JLabel label2=new JLabel("Componente 2");
JLabel label3=new JLabel("Componente 3");
JLabel label4=new JLabel("Componente 4");

final JPanel panelComponentes=new JPanel();
final CardLayout layout=new CardLayout();

panelComponentes.setLayout(layout);
panelComponentes.add(label1,"1");
panelComponentes.add(label2,"2");
panelComponentes.add(label3,"3");
panelComponentes.add(label4,"4");
container.add(panelComponentes, BorderLayout.CENTER);

siguiente.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
layout.next(panelComponentes);
}
});
frame.setSize(400,300);
frame.setTitle("Prueba de BorderLayout");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

3 comentarios:

  1. cambia de fuente para tu codigo por favor.... :-\

    ResponderEliminar
  2. por que:

    final JPanel panelComponentes=new JPanel();
    final CardLayout layout=new CardLayout();
    deben ser declaradas como "final"

    ResponderEliminar