私はtwitter検索APIからツイートを取得するnetbeansのGUIクラスを持っています。ソースユーザー、投稿時刻、ツイートテキストなどを表示するTextAreas、Labels、Editorペインが含まれています。 ファイルに保存され、クラスをシリアライズする必要があるので、ファイル全体のツイートをオブジェクトとして保存することができます。どのようなヘルプ?GUIクラスのオブジェクトをJavaのファイルに保存(シリアル化)するにはどうすればよいですか?
答えて
あなたが必要としないコントロールに関連するものがたくさんあるので、GUIオブジェクト全体を保存しないでください。代わりにカスタムシリアライザを作成してください。 〜ですctually非常に簡単です。
この単純な例を挙げると、クラスにはユーザーの名前が上にあるフレームがありますが、これはシンプルな名前なのでシリアライズされていないため、残りのJFrameを保存する必要はありませんオブジェクト。その他の詳細は、シリアライズ可能な単純なプロパティです。
public class Simple implements Serializable {
private transient JFrame win;
private String username;
private Date postTime;
//...assume getters/setters constructors e.t.c.
private void writeObject(ObjectOutputStream out) throws IOException {
out.write(this);
out.flush();
}
private Object readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
Simple s = (Simple) in.read();
s.setWin(new JFrame(s.getUsername()));
//...any other extra setup can be done here
return s;
}
}
あなたは、私は物事をシンプルに保つために試した見ることができるように、私はちょうどそれを試してみました、まだそれは完全な解決策よりも「10のためのスターター」の多くはでていないこれを書かれている注意してください。 シリアライゼーションをカスタマイズすることができます。たとえば、完全なDateオブジェクトではなくストリームにLongを送信することができます。つまり、出力は でした。out.write(username); out.write(postTime.getTime()); もちろん、オートボクシングは長いものをロングに変換することを可能にしています。そのため、いくつかの不正なjdkがIntegerにボックスを入れて精度を失う可能性があります。 +ストリームはストリームから読み込まれた順序でミラーリングされる必要があります。これが行われた後
とにかくあなたはとても
ObjectOutputStreamのようなファイルoout =新しいObjectOutputStreamの(新しいのFileOutputStream(「blah.bin」))にオブジェクトを書き込むことができます。 シンプルs =新しいシンプル(); //...いくつかの値をsに設定します。 oout.writeObject(s); oout.flush(); oout.close(); ObjectInputStream oin =新しいObjectInputStream(新しいFileInputStream( "blah.bin")); シンプルシンプル=(シンプル)oin.readObject(); oin.close();
明らかに例外処理と効率的なストリームの使用に必要な余分な構文の量は含まれていませんが、いくつかの考えを示すだけです。
これがあなたの気が利いていないなら、いつでもオブジェクトグラフをxmlシリアライザに使ってみることができます。これはとても便利です。 "java.beans.XMLEncoder"これは、データベース内のテキストフィールドに単純なBeanを格納する際に非常に便利なクラスでした。
これは間違いなく実行する必要があります。あなたの最後のリゾートでなければなりません。
他にも、GUIオブジェクトではなく、データをシリアル化してください。
今、データそのものがJSONの可能性が最も高いので、構文解析に使用するのと同じツール(おそらくJacksonなど)を使用してJSONを書き出すことができるはずです。
- 1. Javaアプリケーション内のオブジェクトを複数のファイルにシリアル化するにはどうすればよいですか?
- 2. カスタムクラスを設定ファイルに保存/シリアル化するにはどうすればよいですか?
- 3. オブジェクトをXDocumentにシリアル化するにはどうすればよいですか?
- 4. JavaでAttributedStringをシリアル化するにはどうすればよいですか?
- 5. Jsonオブジェクトを逆シリアル化するにはどうすればよいですか?
- 6. 動的オブジェクトをシリアル化するにはどうすればよいですか?
- 7. JavaScriptでJavaオブジェクトのシリアル化を処理するにはどうすればよいですか?
- 8. de-proxyオブジェクトをJsonにシリアル化できるようにするには、どうすればよいですか?
- 9. オブジェクトをグローバルに保存するにはどうすればよいですか?
- 10. NHibernate DetachedCriteriaオブジェクトをシリアル化するにはどうすればいいですか?
- 11. このファイルを保存するにはどうすればよいですか?
- 12. ファイルをfastcoloredtextboxに保存するにはどうすればよいですか?
- 13. UIImageをファイルに保存するにはどうすればよいですか?
- 14. Node.jsのファイルにオブジェクトを保存するにはどうすればよいですか?
- 15. オブジェクトのテンプレート配列をファイルに保存するにはどうすればよいですか?
- 16. JSONをC#ディクショナリに逆シリアル化するにはどうすればよいですか? HERESに私のJSONオブジェクト
- 17. PublicKeyTokenをクラスに解決するにはどうすればよいですか? (シリアル化の問題)
- 18. MongoDB.Bsonでカスタムコレクションをシリアル化するにはどうすればよいですか?
- 19. JavaでGUIを更新するにはどうすればよいですか?
- 20. JSONをHashMap属性のオブジェクトに逆シリアル化するにはどうすればよいですか?
- 21. オブジェクトのシリアル化時にイベント加入者を無視するにはどうすればよいですか?
- 22. XMP XMLブロックを既存のJPEGイメージにシリアル化するにはどうすればよいですか?
- 23. カスタムNSObjectクラスをファイルに保存するにはどうすればよいですか?
- 24. シリアル化可能な(マーカーインターフェイス)クラスでフィールドをシリアル化しないようにするにはどうすればよいですか?
- 25. シリアル化、オブジェクトの保存
- 26. Javaオブジェクトをピクルス(Python)で直列化解除できるようにシリアル化するにはどうすればよいですか?
- 27. メールメッセージをシリアル化するにはどうすればよいですか?
- 28. Googleニュースサイトマップフィードを逆シリアル化するにはどうすればよいですか?
- 29. シリアル化されたクラスを変更または移動するにはどうすればよいですか?
- 30. JSchemaを別のオブジェクトの一部としてシリアル化するにはどうすればよいですか?
本当にありがとうございました – HB87