# Wie lese ich einen jRadioButton aus?



## popelheinixd (5. Jan 2017)

Hallo,

ich möchte einen Rechner schreiben, der bei einem Betrag wahlweise 7% bzw. 19% aufschlägt. Ich habe beide Möglichkeiten mit jRadioButton verwirklicht und sie in eine ButtonGroup eingefasst, dass man immer nur eins wählen kann.
Wie kann ich nun diese Button auslesen, damit ich eine Methode schreiben kann, die den korrekten Betrag dann berechnet?


----------



## f10 (5. Jan 2017)

```
if (radio7.isSelected()) {
System.out.println("7%");
}

if (radio19.isSelected()){
System.out.println("19%");
}
```

Sowas in der Art?


----------



## KeVoZ_ (5. Jan 2017)

@f10 war schneller ^^

Ich habs so


----------



## popelheinixd (5. Jan 2017)

Nein. 
Ich möchte einen beliebigen Preis in ein jTextField eingeben können. Über den jRadioButton möchte ich dann auswählen, ob 7% bzw. 19% auf diesen Preis gerechnet werden. Wenn ich dies getan habe, klicke ich auf den JButton um dies zu berechnen. Der neue Preis wird dann in einem anderen jTextField ausgegeben!


----------



## f10 (5. Jan 2017)

Schreib dir eine Methode, die haargenau das macht, was du möchtest und übergib ihr den Prozentsatz. Je nachdem, welcher Radiobutton selected ist, rufst du dann die Methode mit unterschiedlichen Parametern auf.


----------



## popelheinixd (5. Jan 2017)

Wie?


----------



## f10 (5. Jan 2017)

```
private void berechne(int prozentsatz) {
/*

Tu was du tun willst.
*/
}

/*in deiner actionPerformed()*/

if (radio7.isSelected()){
berechne(7);
}

if (radio19.isSelected()){
berechne(19);
}

/**/
```


----------



## popelheinixd (5. Jan 2017)

Kannst du mir das mal als komplette Methode schreiben?
z.B.  7% auf 1000€


----------



## f10 (5. Jan 2017)

```
private double berechne(double wert, int prozentsatz){
return wert += wert * 0.07;
}
```

Edit, wobei, bei Geldbeträgen, wäre es vielleicht auch besser ein double zu nehmen.


----------



## popelheinixd (5. Jan 2017)

Das ist klar!

```
// Radio Button
jRadioButton1.setBounds(16, 16, 60, 20);
    jRadioButton1.setText("Netto");
    jRadioButton1.setOpaque(false);
    cp.add(jRadioButton1);
    jRadioButton2.setBounds(160, 16, 60, 20);
    jRadioButton2.setText("Brutto");
    jRadioButton2.setOpaque(false);
    cp.add(jRadioButton2);
    jRadioButton3.setBounds(304, 72, 52, 20);
    jRadioButton3.setText("7%");
    jRadioButton3.setOpaque(false);
    cp.add(jRadioButton3);
    jRadioButton4.setBounds(304, 136, 60, 20);
    jRadioButton4.setText("19%");
    jRadioButton4.setOpaque(false);
    cp.add(jRadioButton4);
    // Button Gruppe
    ButtonGroup gruppe1 = new ButtonGroup();
    gruppe1.add(jRadioButton1);
    gruppe1.add(jRadioButton2);
    ButtonGroup gruppe2 = new ButtonGroup();
    gruppe2.add(jRadioButton3);
    gruppe2.add(jRadioButton4);

// Berechnen Button
jButton1.addActionListener (new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
```


----------



## f10 (5. Jan 2017)

Genau. In der actionPerformed(), die du mithilfe einer Inner anonymous class überschreibst, kannst du nun abfragen, ob der jeweilige Radiobutton selektiert ist und je nachdem, eben auf ein Label oder wohin auch immer die Ausgabe geht, schreiben.


----------



## popelheinixd (5. Jan 2017)

Und wie lautet das dann?


----------



## f10 (5. Jan 2017)

popelheinixd hat gesagt.:


> Und wie lautet das dann?



Was genau? Was möchtest du tun?

Den berechneten Text auf ein Label setzen?


```
label.setText(/* hier den berechneten Wert eintragen */);
```

Natürlich solltest du, falls es ein double ist, noch ein String daraus machen.

Entweder mit String.valueOf(); oder ganz banal ""+wert;


----------



## popelheinixd (5. Jan 2017)

Wie lese ich den RadioButton im jButton aus und rechne dann?


----------



## f10 (5. Jan 2017)

popelheinixd hat gesagt.:


> Wie lese ich den RadioButton im jButton aus und rechne dann?



Das habe ich dir in meinem allerersten Posting gesagt. Frag in der actionPerformed() ab:

```
if (jRadioButton3.isSelected()){
berechne(7);
}
```


----------



## popelheinixd (5. Jan 2017)

Was bedeutet berechne(7) ?


----------



## f10 (5. Jan 2017)

Das ist die Methode, die du dir schreiben sollst, in der dann das passiert, was passieren soll, nur eben variabel mit den Prozentsätzen.


----------



## popelheinixd (5. Jan 2017)

Kann ich die Berechnung auch in eine andere Klasse verschieben?


----------



## f10 (5. Jan 2017)

popelheinixd hat gesagt.:


> Kann ich die Berechnung auch in eine andere Klasse verschieben?



Kannst du.


----------



## popelheinixd (5. Jan 2017)

Und wie muss dies dann aussehen?


----------



## popelheinixd (5. Jan 2017)

Und wie sieht dass dann aus?


----------



## f10 (5. Jan 2017)

```
public class Mehrwertsteuer{

public static double berechne(double wert, int prozentsatz){
return wert += wert * (prozentsatz / 100.0);
}

}
```


----------

