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