Entrar com dados usando RadioButton

Estou iniciando Java no meu curso técnico, e venho estudando um pouco fora da escola sobre interface gráfica e tal (no segundo ano aprendi C, então isso é uma novidade bem atrativa apra mim). Estou fazendo um mini jogo de luta, de turnos (bem simples, não vem ao caso agora), e para escolher os personagens gostaria de usar um RadioButton.

Eu dei uma estudada nesse site http://docs.oracle.com/javase/tutorial/uiswing/components/button.html, e realmente é muito bom, ensina como faz tudo, etc, só que fiquei com uma dúvida no RadioButton. No código de demonstração, aparece as opções, onde você pode escolher os animais e tal, só que e se eu quisesse que isso fosse uma tela de seleção?

Digo, o usuário selecionaria o personagem (os animais do exemplo, no caso), e então teria um botão: “OK”, onde uma variavel, por exemplo Lutador x = new Lutador(); esse “x” seria a opção selecionada do usuário.

Ai se o usuário selecionasse por exemplo, o “Bird”,

[quote]Lutador x = new Lutador();
x = new Bird();

“Onde Bird seria uma classe-filha de Lutador”.[/quote]

Conseguiram me entender, mais ou menos? =X
Aqui está o código:

[code]/*

  • Copyright © 1995, 2008, Oracle and/or its affiliates. All rights reserved.
  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
    • Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
    
    • Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in the
    
  • documentation and/or other materials provided with the distribution.
    
    • Neither the name of Oracle or the names of its
  • contributors may be used to endorse or promote products derived
    
  • from this software without specific prior written permission.
    
  • THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
  • IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  • THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  • PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  • CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  • EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  • PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  • PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  • LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  • NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  • SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    */

package components;

import java.awt.;
import java.awt.event.
;
import javax.swing.*;

/*

  • RadioButtonDemo.java requires these files:
  • images/Bird.gif
  • images/Cat.gif
  • images/Dog.gif
  • images/Rabbit.gif
  • images/Pig.gif
    */
    public class RadioButtonDemo extends JPanel implements ActionListener {
static String birdString = "Bird";
static String catString = "Cat";
static String dogString = "Dog";
static String rabbitString = "Rabbit";
static String pigString = "Pig";

JLabel picture;

public RadioButtonDemo() {
    super(new BorderLayout());

    //Create the radio buttons.
    JRadioButton birdButton = new JRadioButton(birdString);
    birdButton.setMnemonic(KeyEvent.VK_B);
    birdButton.setActionCommand(birdString);
    birdButton.setSelected(true);

    JRadioButton catButton = new JRadioButton(catString);
    catButton.setMnemonic(KeyEvent.VK_C);
    catButton.setActionCommand(catString);

    JRadioButton dogButton = new JRadioButton(dogString);
    dogButton.setMnemonic(KeyEvent.VK_D);
    dogButton.setActionCommand(dogString);

    JRadioButton rabbitButton = new JRadioButton(rabbitString);
    rabbitButton.setMnemonic(KeyEvent.VK_R);
    rabbitButton.setActionCommand(rabbitString);

    JRadioButton pigButton = new JRadioButton(pigString);
    pigButton.setMnemonic(KeyEvent.VK_P);
    pigButton.setActionCommand(pigString);

    //Group the radio buttons.
    ButtonGroup group = new ButtonGroup();
    group.add(birdButton);
    group.add(catButton);
    group.add(dogButton);
    group.add(rabbitButton);
    group.add(pigButton);

    //Register a listener for the radio buttons.
    birdButton.addActionListener(this);
    catButton.addActionListener(this);
    dogButton.addActionListener(this);
    rabbitButton.addActionListener(this);
    pigButton.addActionListener(this);

    //Set up the picture label.
    picture = new JLabel(createImageIcon("images/"
                                         + birdString
                                         + ".gif"));

    //The preferred size is hard-coded to be the width of the
    //widest image and the height of the tallest image.
    //A real program would compute this.
    picture.setPreferredSize(new Dimension(177, 122));


    //Put the radio buttons in a column in a panel.
    JPanel radioPanel = new JPanel(new GridLayout(0, 1));
    radioPanel.add(birdButton);
    radioPanel.add(catButton);
    radioPanel.add(dogButton);
    radioPanel.add(rabbitButton);
    radioPanel.add(pigButton);

    add(radioPanel, BorderLayout.LINE_START);
    add(picture, BorderLayout.CENTER);
    setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
}

/** Listens to the radio buttons. */
public void actionPerformed(ActionEvent e) {
    picture.setIcon(createImageIcon("images/"
                                    + e.getActionCommand()
                                    + ".gif"));
}

/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
    java.net.URL imgURL = RadioButtonDemo.class.getResource(path);
    if (imgURL != null) {
        return new ImageIcon(imgURL);
    } else {
        System.err.println("Couldn't find file: " + path);
        return null;
    }
}

/**
 * Create the GUI and show it.  For thread safety,
 * this method should be invoked from the
 * event-dispatching thread.
 */
private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("RadioButtonDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Create and set up the content pane.
    JComponent newContentPane = new RadioButtonDemo();
    newContentPane.setOpaque(true); //content panes must be opaque
    frame.setContentPane(newContentPane);

    //Display the window.
    frame.pack();
    frame.setVisible(true);
    frame.setResizable(false);
}

public static void main(String[] args) {
    //Schedule a job for the event-dispatching thread:
    //creating and showing this application's GUI.
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createAndShowGUI();
        }
    });
}

}
[/code]

[quote]Ai se o usuário selecionasse por exemplo, o “Bird”,

[quote]Lutador x = new Lutador();
x = new Bird();

“Onde Bird seria uma classe-filha de Lutador”.[/quote][/quote]

Cara não dá pra entender direito, mas tu quer instanciar um objeto do tipo Bird quando ele escolher o radio bird. Isso? ;s

Eu já consegui resolver já, muito obrigado!