Menyimpan dan Memuatkan Semula Keadaan Program Swing
Untuk mengekalkan dan mendapatkan semula keadaan program Swing anda, beberapa pendekatan tersedia:
API Properties:
API Properties menawarkan mekanisme penyimpanan pasangan nilai kunci. Anda boleh menyimpan dan memuatkan data dengan mudah. Walau bagaimanapun, hanya rentetan yang disokong, jadi nilai bukan rentetan memerlukan penukaran manual.
Properties properties = new Properties(); properties.setProperty("cell_data", board.getCellDataAsString()); properties.store(new FileOutputStream("game.properties"), "Game Properties");
XML dan JAXB:
JAXB membolehkan anda memetakan sifat objek kepada XML dan eksport/import mereka. Walaupun lebih fleksibel daripada Properties, ia memperkenalkan kerumitan.
JAXBContext context = JAXBContext.newInstance(Board.class); Marshaller marshaller = context.createMarshaller(); marshaller.marshal(board, new FileOutputStream("game.xml"));
API Keutamaan:
API Keutamaan menyokong penyimpanan String dan nilai primitif tanpa penukaran. Ia memuatkan dan menyimpan kandungan secara automatik, tetapi lokasinya bukan di bawah kawalan anda.
Preferences prefs = Preferences.userRoot().node("minesweeper"); prefs.put("cell_data", board.getCellDataAsString());
Pangkalan Data:
Pangkalan data terbenam seperti H2 atau HSQLDB menawarkan storan asas. Walau bagaimanapun, ia boleh menjadi lebih kompleks untuk disediakan dan diselenggara berbanding pilihan lain, terutamanya untuk jumlah data yang kecil.
try (Connection connection = DriverManager.getConnection("jdbc:h2:~/minesweeper")) { try (Statement statement = connection.createStatement()) { statement.execute("INSERT INTO cells (data) VALUES ('" + board.getCellDataAsString() + "')"); } }
Pensiri Objek:
Pertimbangkan untuk menggunakan objek bersiri sebagai pilihan terakhir. Ia tidak direka bentuk untuk storan jangka panjang dan datang dengan kemungkinan isu.
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("game.ser"))) { oos.writeObject(board); }
Atas ialah kandungan terperinci Bagaimana untuk Simpan dan Muat Semula Keadaan Program Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!