Hallo
,
ich hab hier in kleines großes Problem. Ich habe eine Grafikoberfläche mit den Buchstaben a - z. Jeder dieser Buchstabe wurde als JPanel-Objekt angelegt und in einer ArrayList gespeichert.
Nun möchte ich jeden dieser Buttons per Mausklick dazu bringen den Buchstaben, zu dem er gehört, in eine Stringvariable zu schreiben.
Es scheitert aber auch schon daran einen einzelnen Button aus der Liste anzusprechen.
Trotz langer Rechere finde ich keine Lösung :bahnhof:
Ich hoffe ihr könnt mir helfen
Vielen Dank im Vorraus
ich hab hier in kleines großes Problem. Ich habe eine Grafikoberfläche mit den Buchstaben a - z. Jeder dieser Buchstabe wurde als JPanel-Objekt angelegt und in einer ArrayList gespeichert.
Nun möchte ich jeden dieser Buttons per Mausklick dazu bringen den Buchstaben, zu dem er gehört, in eine Stringvariable zu schreiben.
Es scheitert aber auch schon daran einen einzelnen Button aus der Liste anzusprechen.
Trotz langer Rechere finde ich keine Lösung :bahnhof:
Java:
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
/**
* Write a description of class GUI here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class GUI extends JFrame
{
//Deklarieren der Attribute
private JButton button;
private JPanel hangmanPanel;
private JPanel center1, center2, center3;
private ArrayList<JLabel> hangmanArray;
private ArrayList<JLabel> buchstabenArray;
private JPanel centerPanel;
private String eingabe;
private int anzahlStriche;
/**
* Constructor for objects of class GUI
*/
public GUI()
{
super("Fenster");
setLocation(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
hangmanPanel= new JPanel();
hangmanPanel.setLayout(new BorderLayout(5,5));
centerPanel=new JPanel();
centerPanel.setLayout(new BorderLayout(5,5));
center1 = new JPanel();
centerPanel.add(center1, BorderLayout.NORTH);
center2 = new JPanel();
centerPanel.add(center2, BorderLayout.CENTER);
center3 = new JPanel();
centerPanel.add(center3, BorderLayout.SOUTH);
// ansatz anzahl der striche muss aus wortpool ermittelt werden
anzahlStriche = 6;
for(int i = 0; i<anzahlStriche; i++)
{
center1.add(new JLabel(new ImageIcon("img/strich.png")));
}
buchstabenArray = new ArrayList<JLabel>(26);
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/A.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/B.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/C.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/D.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/E.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/F.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/G.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/H.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/I.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/J.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/K.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/L.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/M.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/N.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/O.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/P.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/Q.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/R.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/S.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/T.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/U.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/V.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/W.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/X.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/Y.png")));
buchstabenArray.add(new JLabel(new ImageIcon("img/Alphabet/Z.png")));
Ich hoffe ihr könnt mir helfen
Vielen Dank im Vorraus