ボタンのマトリックス ( new JButton [6][6]
;) をシリアル化して、値をファイルに保存し、後でマトリックスに再ロードできるようにしようとしています。データを正常に保存するコードをオンラインで見つけましたが、データを読み込んでその値をマトリックスに返すのに問題があります。
次のコードを使用してみました:
public class SaveListener implements ActionListener {
public void actionPerformed(ActionEvent ab) {
saveArray("customlevel", buttons);
}
public void saveArray(String filename, JButton[][] write) {
try {
FileOutputStream fos = new FileOutputStream(filename);
GZIPOutputStream gzos = new GZIPOutputStream(fos);
ObjectOutputStream out = new ObjectOutputStream(gzos);
out.writeObject(write);
out.flush();
out.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
public class LoadListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
loadArray("customlevel", buttons);
}
}
public JButton[][] loadArray(String filename, JButton[][] read) {
try {
FileInputStream fis = new FileInputStream(filename);
GZIPInputStream gzis = new GZIPInputStream(fis);
ObjectInputStream in = new ObjectInputStream(gzis);
// in.readObject(read);
JButton[][] load = (JButton[][]) in.readObject();
in.close();
return load;
} catch (Exception e) {
System.out.println(e);
}
return null;
}