miércoles, 13 de marzo de 2013

Programa con RadioButton

Buenas tardes les envio el programa de los RadioButton, el programa corre al colocarse en un unico archivo


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RadioButtonDemo extends JPanel {
    static JFrame frame;
    static String birdString = "Bird";
    static String catString = "Cat";
    static String dogString = "Dog";
    static String rabbitString = "Rabbit";
    static String pigString = "Pig";
    JLabel picture;
    public RadioButtonDemo() {
//creamos los radio buttons
//el primero seleccionado es el birdButton
//tambien se usan mnemonicos para acceso por teclado
JRadioButton birdButton = new JRadioButton(birdString);
    birdButton.setMnemonic('b');
         birdButton.setActionCommand(birdString);
         birdButton.setSelected(true);
JRadioButton catButton = new JRadioButton(catString);
        catButton.setMnemonic('c');
        catButton.setActionCommand(catString);
JRadioButton dogButton = new JRadioButton(dogString);
        dogButton.setMnemonic('d');
        dogButton.setActionCommand(dogString);
JRadioButton rabbitButton = new JRadioButton(rabbitString);
        rabbitButton.setMnemonic('r');
        rabbitButton.setActionCommand(rabbitString);
JRadioButton pigButton = new JRadioButton(pigString);
        pigButton.setMnemonic('p');
        pigButton.setActionCommand(pigString);
//creamos un grupo y los anyadimos
ButtonGroup group = new ButtonGroup();
        group.add(birdButton);
        group.add(catButton);
        group.add(dogButton);
        group.add(rabbitButton);
        group.add(pigButton);
        //como en los ejemplos anteriores
        RadioListener myListener = new RadioListener();
          birdButton.addActionListener(myListener);
        catButton.addActionListener(myListener);
        dogButton.addActionListener(myListener);
        rabbitButton.addActionListener(myListener);
        pigButton.addActionListener(myListener);
// utilizamos un objeto Icon como argumento para el constructor
//de JLabel
//de inico mostraremos la imagen Bird.gif
picture = new JLabel(new ImageIcon("images/"
                                           + birdString
                                           + ".jpg"));

//establecemos la dimension
picture.setPreferredSize(new Dimension(177,122));
//establecemos un panel para la ordenacion de los componentes
        JPanel radioPanel = new JPanel();
        radioPanel.setLayout(new GridLayout(0, 1));
        radioPanel.add(birdButton);
        radioPanel.add(catButton);
        radioPanel.add(dogButton);
        radioPanel.add(rabbitButton);
        radioPanel.add(pigButton);
//con BorderLayout podemos ordenar los componentes en cinco
//regiones: norte, sur ,este,oeste y centro
        setLayout(new BorderLayout());
//el panel se cargara en el oeste y la imagen se mostrara en el
//centro
        add(radioPanel, BorderLayout.WEST);
        add(picture, BorderLayout.CENTER);
setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
    }
   //como en la creacion de los botones hicimos <<SWING: JButton, JCheckBox y JRadioButton>>
 //birdButton.setActionCommand(birdString);
 //en todos los botones de radio, ahora sabemos que
 //imagen tenemos que mostrar con
 //e.getActionCommand()
       class RadioListener implements ActionListener {
       public void actionPerformed(ActionEvent e) {
            picture.setIcon(new ImageIcon("images/"
                    + e.getActionCommand()+ ".jpg"));
        }
    }
    public static void main(String s[]) {
         frame = new JFrame("RadioButtonDemo");
         frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{System.exit(0);}
         });
         frame.getContentPane().add(new
   RadioButtonDemo(), BorderLayout.CENTER);
         frame.pack();
         frame.setVisible(true);
    }}

No hay comentarios:

Publicar un comentario