Witam, mam problem przy dodaniu JPanel'u do JFram'a. Generalnie nic trudnego, ale kiedy przy samym JFrame klawisze działają bez zarzutu, tak, gdy dodam panel z JTextPanel to przestają reagować. Próbowałem ustawiać JTextPanel, żeby był niezmienialny oraz wyłączałem Focusa, ale to nic nie pomaga. Spróbowałem również przerobić inta na stringa i zwyczajnie go wrzucić jako wiadomość w panelu, ale dane się nie aktualizują. Co można na to poradzić? Wrzucam fragmenty kodu:
int gracz1 = 10, gracz2 = 10;
String gracz1string = Integer.toString(gracz1);
String gracz2string = Integer.toString(gracz2);
String zycie_gracza_pierwszego = ("Życie gracza pierwszego:"), zycie_gracza_drugiego = ("Życie gracza drugiego:");
if (a == s && b == z)
{
gracz2 = gracz2 - 3;
System.out.println("Dostałeś!");
System.out.println("Twoje życie to "+ gracz2);
if (gracz2 <= 0)
{
JOptionPane.showMessageDialog(null,"Koniec gry",null,JOptionPane.INFORMATION_MESSAGE);
System.exit(1);
}
}
public void x()
{
Box wyniki = new Box(BoxLayout.Y_AXIS);
wyniki.setBorder(BorderFactory.createEmptyBorder(10,10,250,10));
wyniki.add(new Label(zycie_gracza_pierwszego));
wyniki.add(new Label(gracz2string));
wyniki.add(new Label(zycie_gracza_drugiego));
wyniki.add(new Label(gracz2string));
teraz teraz = new teraz();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addKeyListener(this);
this.requestFocus();
this.add(BorderLayout.CENTER, teraz);
this.add(BorderLayout.EAST, wyniki);
this.setSize(515,347);
this.setVisible(true);
this.setResizable(false);
this.setTitle("Gra na zaliczenie");
wyniki.setVisible(false);
}
To wszystko, co jest potrzebne. Jest to wersja z dodaniem tekstu do panelu przez co się zmienne nie nadpisują, mimo, że program działa ładnie i w wierszu widzę jak są odejmowane punkty życia.