Hallo! Ich programmiere grad das Spiel Schere, Stein, Papier. Und ich habe in meiner Klasse GUI 2 Buttonsgroups erstellt und möchte diese in der Klasse Steuerung übergeben damit ich mit denen weiterarbeiten kann!
Wie mach ich das?
Wie mach ich das?
Code:
import java.awt.*;
import javax.swing.*;
public class GUI extends JFrame{
protected JPanel p;
protected ButtonGroup group;
protected ButtonGroup newgroup;
protected JButton bt;
private Steuerung steuerung;
public GUI(){
super("Schere, Stein, Papier");
assignIcon();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
p=new JPanel(null);
p.setBackground(new Color(50,81,102));
JPanel p2=new JPanel(null);
p2.setBounds(10,20,170,210);
JPanel p3=new JPanel(null);
p3.setBounds(210,20,173,210);
JPanel p4=new JPanel(null);
p4.setBounds(10,300,373,50);
bt=new JButton("Sieger ermitteln");
bt.setBounds(122,250,140,30);
JLabel l=new JLabel("Spieler");
l.setFont(new Font("Dialog", Font.BOLD, 20));
l.setBounds(17,20,70,30);
JRadioButton rb = new JRadioButton("Schere");
rb.setFont(new Font("Dialog", Font.BOLD, 15));
rb.setBounds(17,75,142,28);
JRadioButton rb1 = new JRadioButton("Stein");
rb1.setFont(new Font("Dialog", Font.BOLD, 15));
rb1.setBounds(17,130,142,28);
JRadioButton rb2 = new JRadioButton("Papier");
rb2.setFont(new Font("Dialog", Font.BOLD, 15));
rb2.setBounds(17,185,142,28);
JLabel l2=new JLabel("Computer");
l2.setFont(new Font("Dialog", Font.BOLD, 20));
l2.setBounds(217,20,270,30);
JRadioButton rb3 = new JRadioButton("Schere");
rb3.setFont(new Font("Dialog", Font.BOLD, 15));
rb3.setBounds(217,75,142,28);
JRadioButton rb4 = new JRadioButton("Stein");
rb4.setFont(new Font("Dialog", Font.BOLD, 15));
rb4.setBounds(217,130,142,28);
JRadioButton rb5 = new JRadioButton("Papier");
rb5.setFont(new Font("Dialog", Font.BOLD, 15));
rb5.setBounds(217,185,142,28);
group = new ButtonGroup();
rb.setSelected(true);
newgroup = new ButtonGroup();
rb3.setSelected(true);
rb.setActionCommand(rb.getText());
rb1.setActionCommand(rb1.getText());
rb2.setActionCommand(rb2.getText());
rb3.setActionCommand(rb3.getText());
rb4.setActionCommand(rb4.getText());
rb5.setActionCommand(rb5.getText());
add(p);
p.add(l);
p.add(bt);
p.add(rb);
p.add(rb1);
p.add(rb2);
p.add(l2);
p.add(rb3);
p.add(rb4);
p.add(rb5);
group.add(rb);
group.add(rb1);
group.add(rb2);
newgroup.add(rb3);
newgroup.add(rb4);
newgroup.add(rb5);
p.add(p2);
p.add(p3);
p.add(p4);
}
private void assignIcon()
{
Image img = getToolkit().getImage("blatt.gif");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
setIconImage(img);
}
public void init(){
steuerung=new Steuerung(this);
bt.addActionListener(steuerung);
}
public static void main(String[] args) {
GUI g=new GUI();
g.setSize(400,400);
g.setVisible(true);
g.init();
}
}
Code:
import java.awt.Button;
import java.awt.event.ActionEvent;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.JButton;
public class Steuerung implements java.awt.event.ActionListener{
private GUI p; //Panel zur Ausgabe des Gewinners
public Steuerung(){}
public Steuerung(GUI p4){
this.p=p;
}
public void actionPerformed(ActionEvent ev) {
// TODO Auto-generated method stub
ButtonModel select = null ;
ButtonModel selected = null;
String cmd = ev.getActionCommand();
if (cmd.equals("Sieger ermitteln")) {
selected = group.getSelection();
if (selected != null) {
System.out.println(selected.getActionCommand());
}
}
String ui = ev.getActionCommand();
if (cmd.equals("Sieger ermitteln")){
select = newgroup.getSelection();
if (select != null) {
System.out.println(select.getActionCommand());
}
}
if((select.getActionCommand()=="Stein")){
System.out.println("Stein");
}
}
}