Zrobiłem mały programik-zgadywankę.
package TestZnajomosciPilkarzy;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Apka extends JFrame {
private JPanel panel;
private JButton zgadujWisla;
private JLabel pktW, pktC, pktS;
private String[] pilkarzeWisly = { "Zaluska", "Guzmics", "Glowacki", "Cywka", "Sadlok", "Boguski", "Brlek",
"Malecki", "Popovic", "Brozek", "Pietrzak" };
List<String> ListWisla = new ArrayList<String>();
private String input;
private int LiczbaPktWis;
public Apka() {
this.setTitle("Test znajomosci pilkarzy ");
this.setSize(450, 340);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
setVisible(true);
System.out.println(LiczbaPktWis);
panel = new JPanel();
add(panel);
pktW = new JLabel("Liczba pkt za Wisle: " + LiczbaPktWis);
panel.add(pktW);
zgadujWisla = new JButton("Kliknij aby zgadywac pilkarzy Wisly");
panel.add(zgadujWisla);
zgadujWisla.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
for (String x : pilkarzeWisly) {
ListWisla.add(x);
}
for (int i = 1; i < pilkarzeWisly.length + 1; i++) {
int liczba = 0;
input = JOptionPane.showInputDialog("podaj pilkarza Wisly:" + i);
if (ListWisla.contains(input)) {
LiczbaPktWis++;
ListWisla.remove(input);
JOptionPane.showMessageDialog(null, "dobrze");
} else {
JOptionPane.showMessageDialog(null, "Zle");
}
}
JOptionPane.showMessageDialog(null, "Zdobyles " + LiczbaPktWis + "punktow");
}
});
}
public static void main(String[] args) {
new Apka();
}
}
No i jak zrobić teraz żeby zmienna LiczbaPktWis wyswietlana w JLabel, zmieniła się po zakończeniu wykonywania testu?
Chodzi mi o to że zmienia się tuż po zakończeniu testu,ponieważ wyświetla się poprawny komunikat o ilości zdobytych pkt,ale w polu JLabel wciąz widnieje 0.Domyślam się że wartość tej zmiennej zmienia się tylko w pętli ale jak w takim razie można zrobić żeby ta zmienna po zakończeniu pętli już na stałe zmieniła wartość?