JavaおよびSpringを使用して作成されたデスクトップアプリケーションでは、GUIフォームはシングルトンBeanとして作成されるため、フォームが表示されるたびに、 Javaコードを介して各フォームフィールドをクリアするよりも新鮮なフォームを取得するより良い方法はありますか?事前に感謝シングルトンBeanとしてSpringを通じて作成されたGUIフォームのクリア
答えて
私はdispose
メソッドをオーバーライドし、init
方法では、super.dispose()
後init
メソッドを呼び出したが、初めに以下の行を追加しました。 私の要求にはうまくいきます。データをフォームに残しておきたい場合はフォームを隠すだけです。新鮮なフォームが必要な場合は、フォームを破棄して再度フォームを表示します。
あなたはこの
public class MyForm {
// The instance
private static MyForm instance = new MyForm();
// Private constructor prevents instantiation from other classes
private MyForm() { }
// Get the singleton
public static MyForm getInstance() { return instance; }
// Force a new instance to be created
public static void resetInstance() {
instance = new MyForm();
}
}
のようにインスタンス化される新しいシングルトンを強制することができしかし、これはもう本当にシングルトン動作ではありません、多分あなただけの新しいインスタンス化クラスを使用する必要があります。ような何か:
myPanel.removeAll();
myPanel.add(new MyForm());
私はシンプルな代替手段を示唆している
ありがとう、私はあなたの2番目の譲歩を試みます。 –
私はよりよい解決策を見つけたと思いますが、それが正しいかどうかはわかりません。 'dispose'メソッドをオーバーライドし、' init'メソッドの 'super.dispose()'の後に 'init'メソッドを呼び出し、始めに次の行を追加しました:' getContentPane()。removeAll(); '。データがフォームに残るようにするには、フォームを非表示にするだけです。新鮮なフォームが必要な場合は、フォームを破棄してフォームを再度表示します。この方法で不具合が見つかった場合は、コメントしてください。 –
(コンストラクタはもちろんの公開になるはずです)、= falseのシングルトンを使用してください。初期化スニペットの一部を保持する場合は、initメソッドまたはBeanポストプロセッサを使用します。 getContentPane().removeAll();
:
initメソッドとBeanポストプロセッサの使い方を教えてください。 –
これはここで答えられます:http://stackoverflow.com/questions/1088550/spring-how-to-call-a-method-after-bean-initialization-is-complete – questzen
- 1. Spring MVCで複数回インスタンス化されたシングルトンBean?
- 2. Spring Javaのコンフィグレーションを使用してシングルトンBeanでプロトタイプオブジェクトを生成する方法
- 3. Spring autowired bean作成
- 4. Managed Beanが作成してBeanのプロパティを作成すると、
- 5. @Configurationクラスの中でSpring XML設定されたbeanを使用して、別のbeanのfactory-beanとしてBeanを使用してください。
- 6. のSpring Beanの作成エラー
- 7. 破損したものを置き換えるためにSpringに新しいシングルトンBeanを作成する
- 8. Spring:ファクトリBeanを使用して任意の数のBeanを作成する
- 9. SpringキャッチBean作成例外
- 10. 通常のフォームをMDIとして作成
- 11. Spring Bootであらかじめ定義されたBean
- 12. SpringコンフィグレーションBeanとしてのHttpRemotingクライアント
- 13. TomcatのJrubyレールアプリケーション。 warblerを通じて生成されたwar
- 14. ServiceFactoryBeanで作成したBeanにSpringのアスペクトが適用されていません
- 15. Spring + JPA + MVC - Bean作成時のエラー
- 16. jQueryフォーム - Ajaxと通常は同じフォームを送信してください
- 17. フォームGUIビデオスレッド通信
- 18. 別のスレッドで作成されたフォームを閉じる
- 19. Glassfish 3.1クラスタ内の(同じ)シングルトンBeanに通知する方法は?
- 20. サーバと通信するためのデスクトップGUIクライアントの作成
- 21. アクティビティスタックブランチを作成してクリアします
- 22. hibernate-envers Spring BeanとしてのRevisionListener Spring統合
- 23. Spring Data JPA + Hibernate + Log4j2 entityManagerFactory Beanを作成するときのClassLoadingException
- 24. 静的入れ子クラスをSpring Beanとして使用する
- 25. 複数のBeanが同じフォームで使用されています
- 26. Springアプリケーションコンテキスト外でSpring Beanを作成する方法
- 27. ロードされているすべてのSpring Beanを印刷します。
- 28. 注釈付きのプロトタイプスコープのSpring Beanを作成しますか?
- 29. ステータスバーの通知クリアで通知テキストがクリアされますか?
- 30. 新しいアレイを作成して長さをクリアすることの違い
GUIアプリケーションでシングルトンBeanを使用するのが一般的ですか?また、springframeworkを使用してGUIアプリケーションを作成するのは一般的ですか? GUIと春がうまくフィットしないように見えるので、私にとっては驚くべきことです。しかし、おそらくあなたが望むのは、デフォルトのシングルトンスコープではなくプロトタイプスコープBeanを使用することです。 – Kevin
このフォームオブジェクトにシングルトンスコープを選択した理由はありますか? –
これは私が処理しなければならない途中で開発されたアプリケーションです。それを実装するためのより良い方法はありますか? –