Hallo,
Ich habe versucht eine Lösung im Netz zu finden und da waren sicher einige aber ich kann sie nicht verstehen. Mein programm soll ein quiz werden. Momentan versuche ich nur den Spielernamen aus einer ArrayList in einen JLabel reinzustecken. Hier mein code:
Klasse Player:
Klasse ChoosePlayer:
Und die Klasse ChooseQuestion:
Also meine fragen sind 3.
Frage 1.Wie kann ich das Feld "name" (String) aus einem Player-Objekt dass sich in der ArrayList befindet aufrufen?
Mein versuch war das:
oder mit Hilfe der Accessor-Metode "public String getPlayerName(int index)" aber der Fehler ist immer dieser:
"No enclosing instance of the type ChoosePlayers is accessible in scope"
Frage 2. Was bedeutet das? Werde aus den Ergebnissen von Google u Faq nicht schlau.
Frage 3. Ne. Momentan nur zwei.
Ich danke euch vielmals dafür dass sich das jemand antut...falls es jemand macht...
Ich habe versucht eine Lösung im Netz zu finden und da waren sicher einige aber ich kann sie nicht verstehen. Mein programm soll ein quiz werden. Momentan versuche ich nur den Spielernamen aus einer ArrayList in einen JLabel reinzustecken. Hier mein code:
Klasse Player:
Java:
public class Player {
String name;
int score = 0;
public Player (String name) {
this.name = name;
int score = 0;
}
Klasse ChoosePlayer:
Java:
public class ChoosePlayers extends JPanel implements ActionListener {
JLabel display;
JButton onePlayer, twoPlayer, threePlayer, fourPlayer;
int numberOfPlayers;
public ArrayList<Player> storePlayer = new ArrayList<Player>();
public void setNumberOfPlayers (int numberOfPlayers) {
this.numberOfPlayers=numberOfPlayers;
}
public ChoosePlayers () {
this.setBackground(Color.gray);
setLayout (null);
display = new JLabel();
display.setBounds(150, 50, 500, 50);
display.setText("Choose number of players:");
display.setFont(new Font("Serif", Font.BOLD, 30));
display.setForeground(Color.decode("#70B8FF"));
onePlayer = new JButton("1");
onePlayer.setBounds(275, 150, 100, 100);
onePlayer.addActionListener(this);
twoPlayer= new JButton("2");
twoPlayer.setBounds(375, 150, 100, 100);
twoPlayer.addActionListener(this);
threePlayer = new JButton("3");
threePlayer.setBounds(275, 250, 100, 100);
threePlayer.addActionListener(this);
fourPlayer = new JButton("4");
fourPlayer.setBounds(375, 250, 100, 100);
fourPlayer.addActionListener(this);
add(display);
add(onePlayer);
add(twoPlayer);
add(threePlayer);
add(fourPlayer);
}
@Override
public void actionPerformed(ActionEvent e) {
String s = e.getActionCommand();
if (s.equals("1")) {
setNumberOfPlayers(1);
}
if (s.equals("2")) {
setNumberOfPlayers(2);
}
if (s.equals("3")) {
setNumberOfPlayers(3);
}
if (s.equals("4")) {
setNumberOfPlayers(4);
}
for (int i =1; i <= numberOfPlayers; i++) {
storePlayer.add(new Player(JOptionPane.showInputDialog("Enter name of Player "+ i + ":")));
}
}
public String getPlayerName(int index) {
return storePlayer.get(index).name;
}
}
Und die Klasse ChooseQuestion:
Java:
public class ChooseQuestion extends JPanel implements ActionListener {
JLabel name1;
public ChooseQuestion () {
this.setBackground(Color.gray);
setLayout (null);
name1 = new JLabel();
name1.setBounds(150, 50, 500, 50);
name1.setText(//Hier will ich das Feld name(String) haben dass in der ArrayList gespeichert ist im Objekt Player...puh);
name1.setFont(new Font("Serif", Font.BOLD, 30));
name1.setForeground(Color.decode("#70B8FF"));
}
Also meine fragen sind 3.
Frage 1.Wie kann ich das Feld "name" (String) aus einem Player-Objekt dass sich in der ArrayList befindet aufrufen?
Mein versuch war das:
Java:
name1.setText(ChoosePlayers.this.storePlayer.get(0));
"No enclosing instance of the type ChoosePlayers is accessible in scope"
Frage 2. Was bedeutet das? Werde aus den Ergebnissen von Google u Faq nicht schlau.
Frage 3. Ne. Momentan nur zwei.
Ich danke euch vielmals dafür dass sich das jemand antut...falls es jemand macht...