# Auswertung eines Testes funktioniert nicht



## Lea (29. Jun 2017)

Hallo, ich möchte bei einem Test in dem die Beantwortung von verschiedenen Fragen zu einem bestimmten Ergebnis führen sollten. Mein Problem ist, dass die zugewiesenen Punkte aus der if nicht übernommen werden. Es wird immer der Punktestand 0 ausgegeben.


----------



## Meeresgott (29. Jun 2017)

Dann muss dein rButton1 selektiert sein, sonst würde er ja nicht in die if gehen


----------



## Lea (29. Jun 2017)

Ich habe ihn doch ausgwählt durch "if rbutton1.isSelected() und dann die Anweisung


----------



## Lea (29. Jun 2017)

Oder was genau meinst du?


----------



## Xyz1 (29. Jun 2017)

Hallo, stell deinen Code doch bitte mit `[code=Java]...[/code]`-Tags hier ein.


----------



## Lea (29. Jun 2017)

und wie geht das ? mit 
	
	
	
	





```

```


----------



## Lea (29. Jun 2017)

Also ich habe eine Art Test erstellt, wobei der Benutzer fragen beantwortet. Er hat bei jeder Frage drei Antwortmöglichkeiten zur Auswahl. Durch RadioButtons kann er auch nur einen auswählen. Nun wird durch einen Knopf die nächste Frage in einem neune Frame geöffnet. Ich möchte das der Benutzer 0 Punkte bekomt, wenn er den ersten R_Button auswählt, 1 Punkt wenn er den zweiten R_Button auswählt und 2 Punkte wen er den dritten R_Button auswählt. (Dies habe ich in einer IF gemacht). Jedoch wird dann immer nur der Punktestand von 0 ausgegeben.


----------



## Meeresgott (29. Jun 2017)

DerWissende hat recht. Wenn du deinen Code hier ganz normal als Quelcode deutlich machst und uns von Anfang an mehr Code gibst kann dir schneller geholfen werden.
Gib mir bitte zumindest das  Fenster sowie die Logik dahinter als Code

LG


----------



## Lea (29. Jun 2017)

[code = Java] 
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 26.06.2017
  * @author
  */

public class Test extends JFrame {
  // Anfang Attribute
  private JLabel label_ueberschrift = new JLabel();
  private JLabel label_u2 = new JLabel();
  private JLabel jLabel1 = new JLabel();
  private JLabel jLabel2 = new JLabel();
  private JButton button_los = new JButton();
  // Ende Attribute


  public Test(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 462;
    int frameHeight = 462;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    label_ueberschrift.setBounds(40, 24, 355, 41);
    label_ueberschrift.setText("AB IN DEN URLAUB");
    label_ueberschrift.setOpaque(true);
    label_ueberschrift.setHorizontalAlignment(SwingConstants.CENTER);
    label_ueberschrift.setBackground(Color.YELLOW);
    cp.add(label_ueberschrift);
    label_u2.setBounds(40, 64, 355, 41);
    label_u2.setText("DEIN NÄCHSTES REISEZIEL !!");
    label_u2.setHorizontalAlignment(SwingConstants.CENTER);
    label_u2.setOpaque(true);
    label_u2.setBackground(Color.YELLOW);
    cp.add(label_u2);
    jLabel1.setBounds(16, 152, 419, 57);
    jLabel1.setText(" In diese Test findest du mit uns gemeinsam dein perfektes Reiseziel ! ");
    jLabel1.setOpaque(true);
    jLabel1.setBackground(Color.YELLOW);
    cp.add(jLabel1);
    jLabel2.setBounds(16, 192, 419, 57);
    jLabel2.setText("Durch ein paar einfache Fragen suchen wir dein individuelles Traumziel ");
    jLabel2.setOpaque(true);
    jLabel2.setBackground(Color.YELLOW);
    cp.add(jLabel2);
    button_los.setBounds(160, 264, 161, 89);
    button_los.setText("Los gehts !!!");
    button_los.setMargin(new Insets(2, 2, 2, 2));
    button_los.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        button_los_ActionPerformed(evt);
      }
    });
    button_los.setBackground(new Color(0xFFC800));
    cp.add(button_los);
    cp.setBackground(new Color(0xB8CFE5));


    // Ende Komponenten

    setVisible(true);
  } // TODO hier Quelltext einfügen

  //Globale Variable
  static int punkte = 0;

  // Anfang Methoden

  public static int getpunkte() {
    return punkte;

  }

  // Als Static deklariern. Die methode ist so nicht an ein Objekt gebunden, sondern an die Klasse "Test"
  public static void setpunkte(int punketausframe) {

    punkte = punkte + punketausframe;


  }


  public void button_los_ActionPerformed(ActionEvent evt) {
    Frame2 f2 = new Frame2();

    f2.setVisible(true);

    dispose();

  }


  // Ende Methoden

  public static void main(String[] args) {
    new Test("Test");


  }
}
[/code]


----------



## Lea (29. Jun 2017)

Soory ich kenn mich nicht so gut damit aus, dass ist jetzt meine erste Frame und das meine zweite 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Frame2 extends JFrame {

  private JLabel label_frage_1 = new JLabel();
  private JLabel label_frage = new JLabel();

  private JButton jButton1 = new JButton();
  private JRadioButton rbutton1 = new JRadioButton();
  private JRadioButton rbutton2 = new JRadioButton();
  private JRadioButton rbutton3 = new JRadioButton();
  private ButtonGroup jButtonGroup1 = new ButtonGroup();

  public Frame2() {


    int frameWidth = 462;
    int frameHeight = 462;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);


    //Anfang Komponenten

    getContentPane().add(new JLabel());
    label_frage_1.setText("Frage 1");
    label_frage_1.setBounds(40, 24, 355, 41);
    label_frage_1.setOpaque(true);
    label_frage_1.setHorizontalAlignment(SwingConstants.CENTER);
    cp.add(label_frage_1);
    setVisible(true);


    label_frage.setText("Wähle ein Alterszeitraum");
    label_frage.setBounds(8, 48, 243, 49);
    label_frage.setOpaque(true);
    label_frage.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_frage);
    setVisible(true);



    rbutton1.setText("14 - 25 Jahre");
    rbutton1.setBounds(8, 128, 147, 41);
    jButtonGroup1.add(rbutton1);
    cp.add(rbutton1);
    rbutton2.setText("25 - 35 Jahre");
    rbutton2.setBounds(8, 184, 163, 41);
    jButtonGroup1.add(rbutton2);
    cp.add(rbutton2);
    rbutton3.setText("über 35 Jahre");
    rbutton3.setBounds(8, 240, 171, 41);
    jButtonGroup1.add(rbutton3);
    cp.add(rbutton3);



    jButton1.setBounds(144, 320, 193, 49);
    jButton1.setText("Nächste Frage");
    jButton1.setMargin(new Insets(2, 2, 2, 2));
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1);

    //Ende Komponeten
    setVisible(true);

  }

  int punkte = 0;


  //Anfnag Methode

  public String getSelectedRadioButton(ButtonGroup bg) {
    for (java.util.Enumeration<AbstractButton> e = bg.getElements(); e.hasMoreElements() {
      AbstractButton b = e.nextElement();
      if (b.isSelected()) return b.getText();
    }
    return null;
  }


  public void bt_1_ActionPerformed(ActionEvent evt) {
    if (rbutton1.isSelected()) {


      punkte =  0;


    } // end of if
    else if (rbutton2.isSelected()) {

      punkte = punkte +1;


    } // end of if
    else {

      punkte = punkte + 2;

    } // end of if-else

  }


  public void jButton1_ActionPerformed(ActionEvent evt) {

    //Vor öffnen des nächsten Frame, übertragen der Punkte
    //Methode der Klasse Test aufrufen

    Test.setpunkte(punkte);

    System.out.println(Test.getpunkte());

    Frame3 f3 = new Frame3();

    f3.setVisible(true);

    dispose();


  } // end of jButton1_ActionPerformed



  // Ende Methoden
}


----------



## Lea (29. Jun 2017)

und so sieht dann die Benutzeroberfläche aus


----------



## Meeresgott (29. Jun 2017)

Nah dran nur den [ code = java ] ohne Lehrzeichen.

Ja ich denke damit kann man was anfangen. Du weißt in Zeile 79 von Frame2 dem jButton1 einen ActionListener zu. 
Die Methode die du aufrufst ist "jButton1_ActionPerformed" allerdings wertet diese Methode nicht die Punkte aus. Das heißt, die Methode die deine Punkte bestimmt, wird nie ausgeführt. Punkte ist immer null, da du ganz am Anfang sagt "int punkte = 0".


```
jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                System.out.println("Frame2--> Frame2()--> new ActionListener--> Button1 pressed");
                bt_1_ActionPerformed(evt);
                jButton1_ActionPerformed(evt);
            }
        });
```

Damit hast du das richtige ergebnis


----------



## Lea (29. Jun 2017)

also muss ich das ersetzen durch meinen Befehl aus Zeile 69 in Frame 2 ? und sonst alles so lassen wie gehabt ?


----------



## Meeresgott (29. Jun 2017)

An sich ja  Aber das System.out.println kannst du raus nehmen


----------



## Lea (29. Jun 2017)

oh oki super vielen Danke  Dies mache ich dann bei jeder Frage so, und addiert es dann die Punkte aus jeder Frage zusammen, dass am Ende dann ein Ergebnis von beispielsweise 5 Punkten heraus ?


----------



## Meeresgott (29. Jun 2017)

Ja würde ganz genau so klappen!


----------



## Lea (29. Jun 2017)

ok vielen vielen dank  Hab noch ne Frage wenn das ok ist.
Wie kann ich ein Bild welches ich ganz einfach gespeichert habe in ein JLabel einfügen ?


----------



## Lea (29. Jun 2017)

Möchte anstatt dem Text "Strandbild" ein echtes Strandbild einfügen. Versuche es nochmal mit dem Code

```
label_antwort_1.setText("Strandbild");
    label_antwort_1.setBounds(8,128,147,41);
    label_antwort_1.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_antwort_1);
    setVisible(true);
```


----------



## Meeresgott (29. Jun 2017)

Bitte gerne 
So:

```
ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png");
JLabel imagelabel = new JLabel(image );
```

Oder alternativ


```
imagelabel.setImageIcon(image)
```

Wenn du das Bild skalieren möchtest empfehle ich dir über BufferedImage zu gehen, das würde so gehen:


```
File img = new File("C:\\..\\image.jpg");
BufferedImage bufferedImage = ImageIO.read(img);
ImageIcon imageIcon = new ImageIcon(bufferedImage);
```

Für Beispielcode zum skalieren einfach "BufferedImage scale picture" bei Google einegeben


----------



## Lea (29. Jun 2017)

Möchte es so einfügen aber da kommt ne Fehlermeldung 

```
ImageIcon image = new ImageIcon("C:\Users\User\Pictures\Prüfung Bilder");
    JLabel imagelabel = new JLabel(image );
    label_bild_1.setBounds(20,128,147,41);
    label_bild_1.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_1);
    setVisible(true);
```


----------



## Lea (29. Jun 2017)

Das ist die Fehlermedlun


----------



## Lea (29. Jun 2017)

Währe es möglich auch ein Bild direkt aus dem Internet zu ziehen ?


----------



## VfL_Freak (29. Jun 2017)

Moin,
habe mir den unformatierten Code nicht angeschaut (möchte ja keinen Augenkrebs bekommen) 



Meeresgott hat gesagt.:


> Dann muss dein rButton1 selektiert sein, sonst würde er ja nicht in die if gehen





Lea hat gesagt.:


> Ich habe ihn doch ausgwählt durch "if rbutton1.isSelected()


mit der Abfrage "_*is*Selected_" selektierst Du ihn nicht, sondern fragst, ob er selektiert ist!! 
Wenn Dui ihn im Code selektieren willst, wäre ein "_*set*Selected_" Dein Freund 

VG Klaus


----------



## Lea (29. Jun 2017)

Ja es tut mir leid, bin Anfänger bei Java, deshalb noch nicht so der Profi. Bin euch sehr Dankbar für eure Hilfe.
Bräuchte eure Hilfe noch beim Bild einfügen. Das will irgendwie nicht so ganz


----------



## VfL_Freak (29. Jun 2017)

Moin,


Lea hat gesagt.:


> Das will irgendwie nicht so ganz


das ist leider keine Fehlerbeschreibung !

Lies Dir bitte mal diese Seite durch, dann kommen wir schneller weiter 
http://www.java-forum.org/forum-faq-beitraege/7407-man-fragen-richtig-stellt.html

VG Klaus


----------



## Lea (29. Jun 2017)

Also ich habe einen Code ausprobiert, jedoch erscheint das Bild nicht in dem gewünschten JLabel. 
Hier ist mein Code: 

```
ImageIcon image = new ImageIcon("C:/Users/User/Pictures/Prüfung Bilder");
    JLabel imagelabel = new JLabel(image );
    label_bild_1.setBounds(20,128,147,41);
    label_bild_1.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_1);
    setVisible(true);
```

Ich vermute das der Pad zum Bild möglicherweise falsch ist, finde jedoch keinen anderen.
Ist es möglich vlt auch eine Internetadresse zu einem Bild einzugfügen ?


----------



## Meeresgott (29. Jun 2017)

Lea hat gesagt.:


> Das ist die Fehlermedlun



Ein ImageIcon ist ein bestimmtes Bild und kommt mit einem Ordner nicht klar. 
Versuche es für den Anfang mit einem Absoluten Pfad zu einer DATEI nicht zu einem Ordner. 


```
ImageIcon icon;
//Irgendwas was du noch so an Objekten brauchst

//Wichtig der Pfad wird entweder mit '/' gekentzeichnet - meist bei Unix üblich oder bei Windows mit '\\'.
//Sonst denkt Java das du mit "\neu" den ASCII Code für Enter benutzen magst und eu eine Zeiletiefer schreiben willst.
//Aber das muss dich noch nicht intressieren ;)
icon = new ImageIcon("C:\\user\\MyUser\\Documents\\workspace\\resources\\myBeautifulPicture.jpg);
```


----------



## Meeresgott (29. Jun 2017)

```
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class MyTest
{
    public static void main(String[] args) throws MalformedURLException
    {
        JFrame frame = new JFrame("MyPic");
       
        URL url = new URL("https://www.heise.de/foto/imgs/13/2/1/4/7/4/6/8/bilder-der-woche-8-schwarzer-kater_16-9-85134cff9113b018.jpeg");
        ImageIcon icon = new ImageIcon(url);
        JLabel picLabel = new JLabel(icon);
       
        frame.add(picLabel);
        frame.pack();
        frame.setVisible(true);
    }
}
```

Kopier das mal in eine Datei mit dem Name MyTest.java und kompiliere es


----------



## Lea (29. Jun 2017)

Ja das hat funktioniert, jedoch möchte ich das Bild nicht in einem Frame zeigen sondern in einem Label neben den Buttons. In diese Labels sollen die Bilder rein: 

```
label_bild_1.setTest("Strandbild")
    label_bild_1.setBounds(20,128,147,41);
    label_bild_1.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_1);
    setVisible(true);
   
    label_bild_2.setText("Abenteuerbild");
    label_bild_2.setBounds(20,184,163,41);
    label_bild_2.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_2);
    setVisible(true);
   
    label_bild_3.setText("Naturbild");
    label_bild_3.setBounds(20,240,171,41);
    label_bild_3.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_3);
    setVisible(true);
```

und so sieht dann die Ausgabe aus. Neben den Button jeweils das passende Bild in einem JLabel.
Hättets du mir da auch einen Tipp


----------



## Lea (29. Jun 2017)

Hier die Ausgabe


----------



## Harry Kane (29. Jun 2017)

```
label_bild_1.setIcon(strandIcon);
```
usw. für die anderen JLabels.


----------



## Meeresgott (30. Jun 2017)

Ich habe doch ein Label mit Bild erzeugt und es dem Frame zugewiesen. 
Du kannst dasselbe machen mit deinem 
label_bild1,label_Bild, label_Bild3


----------



## Lea (30. Jun 2017)

Ich weiß das ist bestimmt das einachste der Welt aber irgendwie steh ich immer noch auf dem Schlauch. Muss ich


Meeresgott hat gesagt.:


> ):


in einem extra Classe machen ? Oder muss ich dies in die Frame machen, wo ich die Frage mit den Bildern formuliert


Lea hat gesagt.:


> ):


Ich hoffe das ist einigemaßen verständlich


----------



## Lea (30. Jun 2017)

Dies ist die Frame mit der Bild-Frage:

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

public class Frame4 extends JFrame {
  private JLabel label_frage_3 = new JLabel();
  private JLabel label_frage = new JLabel();
  private JLabel label_bild_1 = new JLabel();
  private JLabel label_bild_2 = new JLabel();
  private JLabel label_bild_3 = new JLabel();
  private JButton jButton1 = new JButton();
  private JRadioButton rbutton1 = new JRadioButton();
  private JRadioButton rbutton2 = new JRadioButton();
  private JRadioButton rbutton3 = new JRadioButton();
  private ButtonGroup jButtonGroup1 = new ButtonGroup();


 
  public Frame4() {
   
    int frameWidth = 462;
    int frameHeight = 462;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
   
    //Anfang Komponenten
   
    getContentPane().add(new JLabel());
    label_frage_3.setText("Frage 3");
    label_frage_3.setBounds(40, 24, 355, 41);
    label_frage_3.setOpaque(true);
    label_frage_3.setHorizontalAlignment(SwingConstants.CENTER);
    cp.add(label_frage_3);
    setVisible(true);
   
    label_frage.setText("Wählen ein Bild");
    label_frage.setBounds(8, 48, 243, 49);
    label_frage.setOpaque(true);
    label_frage.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_frage);
    setVisible(true);

    ImageIcon icon;


    label__bild_1.setIcon(icon);
    label_bild_1.setBounds(20,128,147,41);
    label_bild_1.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_1);
    setVisible(true);
   
    label_bild_2.setText("Abenteuerbild");
    label_bild_2.setBounds(20,184,163,41);
    label_bild_2.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_2);
    setVisible(true);
   
    label_bild_3.setText("Naturbild");
    label_bild_3.setBounds(20,240,171,41);
    label_bild_3.setHorizontalAlignment(SwingConstants.LEFT);
    cp.add(label_bild_3);
    setVisible(true);


    rbutton1.setBounds(8, 128, 147, 41);
    jButtonGroup1.add(rbutton1);
    cp.add(rbutton1);

    rbutton2.setBounds(8, 184, 163, 41);
    jButtonGroup1.add(rbutton2);
    cp.add(rbutton2);

    rbutton3.setBounds(8, 240, 171, 41);
    jButtonGroup1.add(rbutton3);
    cp.add(rbutton3);


    jButton1.setBounds(144, 320, 193, 49);
    jButton1.setText("Nächste Frage");
    jButton1.setMargin(new Insets(2, 2, 2, 2));
    jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent evt) {
                System.out.println("Frame4--> Frame4()--> new ActionListener--> Button1 pressed");
                bt_1_ActionPerformed(evt);
                jButton1_ActionPerformed(evt);
            }
        });
    cp.add(jButton1);

    //Ende Komponeten
    setVisible(true);
   
  }
  int punkte;
  //Anfnag Methode
 
   public String getSelectedRadioButton(ButtonGroup bg) {
    for (java.util.Enumeration<AbstractButton> e = bg.getElements(); e.hasMoreElements();) {
      AbstractButton b = e.nextElement();
      if (b.isSelected()) return b.getText();
    }
    return null;
  }

  public void bt_1_ActionPerformed(ActionEvent evt) {
    if (rbutton1.isSelected()) {

      punkte =  punkte +0;


    } // end of if
    else if (rbutton2.isSelected()) {

      punkte = punkte +1;

    } // end of if
    else {

      punkte = punkte +2;

    } // end of if-else

  }


  public void jButton1_ActionPerformed(ActionEvent evt) {

    //Vor öffnen des nächsten Frame, übertragen der Punkte
    //Methode der Klasse Test aufrufen
    Test.setpunkte(punkte);

    System.out.println(Test.getpunkte());
    Frame5 f5 = new Frame5();

    f5.setVisible(true);

    dispose();


  } // end of jButton1_ActionPerformed

  // Ende Methoden

}
```

Muss dann das ganze Zeug hier rein ? Oder in ein neue Classe ?
Vielen Dank schon mal für eure Hilfe


----------



## Harry Kane (30. Jun 2017)

Lea hat gesagt.:


> Muss dann das ganze Zeug hier rein ?


Ja. Bzw. es "muss" gar nix. Es ist aber eine naheliegende Möglichkeit.
Du weisst wie man ein ImageIcon instanziiert ( mit einem Dateinamen oder mit URL zu einer Datei), und du weisst, wie man einem JLabel ein Icon zuordnet. Zur Info: Du kannst einem JRadioButton auch direkt einen Text und ein Icon zuordnen.
Wo liegt genau das Problem?


----------



## Lea (30. Jun 2017)

Ich habe noch nie ein Bild in ein JLabel oder ein JRadioButton eingefügt, deshalb weiß ich leider nicht wie ich einen ImageIcon instanziiert und wie ich es dann einem JRadioButton zuordne. Als erstes müssen alle Befehle bezüglich des Bild einfügens in die Klasse mit den JRadioButton, wo ich sie zuordnen möchte ? Und wenn so welche Befehle muss ich genau verwenden und wo müssen sie hin ?


----------



## Lea (30. Jun 2017)

Und ich hab nochmal eine Frage. Soory das ich euch so belästige. Ich habe nun wie in den vorigen Beitage nun einen Punktestand nach dem Beantworten der Fragen. Nun sollen je nach Punktestand unterschiedliche Antworten in jeweils einer Frame erscheinen. Jedoch kommt bei mir immer nur der erste Antwort (heißt die Frame12). Woran liegt das ? Hier ist meine erst Frame mit den Methoden

```
//Globale Variable
  static int punkte = 0;
 
  // Anfang Methoden
 
  public static int getpunkte() {
    return punkte;
 
  }
 
  // Als Static deklariern. Die methode ist so nicht an ein Objekt gebunden, sondern an die Klasse "Test"
  public static void setpunkte(int punketausframe) {
 
    punkte = punkte + punketausframe;
 
 
  }
 
 
  public void button_los_ActionPerformed(ActionEvent evt) {
    Frame2 f2 = new Frame2();
 
    f2.setVisible(true);
 
    dispose();
 
  }
 
 
 
 
 
  // Ende Methoden
 
  public static void main(String[] args) {
    new Test("Test");
 
 
  }
}
```

Und hier ist die Frame mit dem Button "Auswertung", und beim betätigen dieses Button soll er aktuelle Punktestand genommen werden und in die if gehen.


```
jButton1.setBounds(144, 320, 193, 49);
    jButton1.setText("Auswertung");
    jButton1.setMargin(new Insets(2, 2, 2, 2));
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1);


    //Ende Komponeten
    setVisible(true);
 
  }
  int punkte;
  //Anfnag Methode


  public void jButton1_ActionPerformed(ActionEvent evt) {


    Test.getpunkte();
    if (punkte >= 7 ) {

    Frame12 f12 = new Frame12();

    f12.setVisible(true);

    dispose();
    }
    else if (7 < punkte > 12){

    Frame13 f13 = new Frame13();

    f13.setVisible(true);
 
    dispose();

    }
    else{

    Frame14 f14 = new Frame14();
 
    f14.setVisible(true);
 
    dispose();


    }



  } // end of jButton1_ActionPerformed

  // Ende Methoden
}
```


----------



## Harry Kane (30. Jun 2017)

Lea hat gesagt.:


> deshalb weiß ich leider nicht wie ich einen ImageIcon instanziiert


s. Beitrag von @Meeresgott. Mehr ist dazu nicht zu sagen, es sei denn, wir fangen gaaaaanz am Anfang an (was ist eine Datei? Was ist ein Verzeichnis? usw.).


Lea hat gesagt.:


> und wie ich es dann einem JRadioButton zuordne


Z. B. 

```
rbutton1.setIcon(variablennameDeinesImageIcons);
```
Ist dir der Begriff API Documentation geläufig?


Lea hat gesagt.:


> Jedoch kommt bei mir immer nur der erste Antwort (heißt die Frame12). Woran liegt das


Das liegt wahrscheinlich daran, das punkte >= 7 ist. Warum das so ist, kann niemand hier im Forum wissen. Zwei Auffälligkeiten sind im Code (Methode jButton1_ActionPerformed) aber zu erkennen:
1. Du rufst einfach Test.getPunkte() auf, machst mit dem Rückgabewert aber gar nix. Dann fragst du den Wert von punkte ab. Ob Test.getPunkte() == punkte ist oder sein soll, kann man nur raten, weil nicht klar ist, aus welcher Klasse dein Codeausschnitt kommt.
2. else if (7 < punkte > 12) ist nicht kompilierbar. Der Ausdruck "7 < punkte" liefert einen boolean, und der kann nicht mit dem int Wert "12" verglichen werden.


----------

