私のスイングアプリケーションでは、JTreeとJTableを使用して同じ日付を表示したいと思います。 コンポーネントは、ユーザーの選択に応じて(たとえば、トグルボタンを使用して)互換的に表示/表示する必要があります。ボタンが押された場合は、JTreeが表示されます(JTableでない場合)。 質問:正しい方法でそれを行う方法。 私はstacklayoutを試して、次/前のコンポーネントを表示しましたが、それは良い解決策ではないようです。どちらのコンポーネントもメモリを使用し、両方が同時に存在します。 2番目の解決策は、パネルからコンポーネントを削除し、新しいコンポーネントを作成することです。また、メモリ/時間がかかることもあります。 提案や解決策はありますか?スイングコンポーネント間のインプレース切り替え
0
A
答えて
1
CardLayout
はこれに最も適しているようですが、もちろん両方のコンポーネントをメモリに保持します。実際にこれが問題であるという兆候はありますか、または早すぎる最適化の心配に苦しんでいますか?
1
既存のコンポーネントを削除して新しいコンポーネントをパネルに追加することは、パフォーマンス面で大きな問題ではありません。また、削除されたオブジェクト(たとえば、JTree
)への参照がないことを確認した場合は、メモリに問題はないはずです。
関連する問題
- 1. ビュー間の切り替え
- 2. モーダルビューコントローラ間の切り替え
- 3. アプリ間の切り替え
- 4. XcodeのviewController間の切り替え
- 5. NSWindowのビュー間の切り替え
- 6. Androidカメラのプレビューカメラ間の切り替え
- 7. C#winformsのデータベース間の切り替え
- 8. クラス間のjQueryの切り替え
- 9. 異なるテーブルビュー間の切り替え
- 10. mysqlデータベース間の切り替え
- 11. jQuery - ボタン間の切り替え
- 12. NullPointerExceptionビュー間の切り替え時
- 13. ViewSwitcherをビュー間で切り替える
- 14. Git間でコミットを切り替える
- 15. タブ間をプログラムで切り替える
- 16. QToolButton間でQToolButtonを切り替える
- 17. ピクチャ間でケースを切り替える
- 18. jQueryクラスの切り替えとクッキーの値の切り替え?
- 19. 他のビューの切り替えに切り替えるapp xcode
- 20. メニューの切り替えの切り替え
- 21. 切り替えガレリアフルスクリーンモード
- 22. スレッド切り替え
- 23. エンティティデータモデルの切り替え
- 24. javaFXの切り替えシーン
- 25. ビデオストリーミングの切り替え
- 26. カスタムリストビューでの切り替え
- 27. スローネスの切り替えTabItems
- 28. Outlook FormRegionの切り替え
- 29. ByteStringsへの切り替え
- 30. クラスの切り替え?
私はまだCardLayoutを試していませんでした。それはパフォーマンスに関する私の懸念のようです。現時点では、テーブルに大量のデータをロードする際にOutOfMemory例外が発生します(レイジーローディングについて考えるべきですが、それはテーマではありません)。しかし、とにかく、意見に感謝します。 –