Witam
Mam problem z grą kółko i krzyżyk przy wczytywaniu stanu gry. Kod wygląda mniej więcej tak:
Kod z serializacją:
public class TicTacToe extends JPanel
{
JButton[] buttons = new JButton[9];
JPanel buttonPanel;
public TicTacToe()
{
JButton load = new JButton("Load");
load.addActionListener(event -> {
try {
FileInputStream inputStream = new FileInputStream("TicTacToe.ser");
ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);
buttons = (JButton[]) objectInputStream.readObject();
objectInputStream.close();
buttonPanel.removeAll();
for(int i = 0; i < 9; i++){
buttonPanel.add(buttons[i]);
}
repaint();
}
catch (Exception e) {
e.printStackTrace();
}
});
}
private class buttonListener implements ActionListener, Serializable
{
public void actionPerformed(ActionEvent event)
{
//obsługa kliknięcia, każdy przycisk ma osobny obiekt buttonListener
//zapis stanu gry
try {
FileOutputStream outputStream = new FileOutputStream("TicTacToe.ser");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
objectOutputStream.writeObject(buttons);
objectOutputStream.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Gra po uruchomieniu wygląda tak:
a po kliknięciu przycisku Load ostatni przycisk, który wybrałem przed kliknięciem Load wygląda tak dopóki na niego nie najadę myszką lub nie kliknę gdzieś indziej. Macie jakiś pomysł jak to naprawić?
Z góry dzięki za pomoc