私は現在、Swing を使用して Java のデスクトップ アプリケーションに取り組んでいます。jdesktop.org の beanbinding フレームワークを使用して、GUI コンポーネントとデータ オブジェクトの状態を同期しています。しかし、フレームワークで問題が発生しており、GUI コンポーネントとデータ オブジェクトの間で状態情報を手動でやり取りする必要があります。
BeanBinding フレームワーク (NetBeans でも使用されていると思いますか?) に代わるものはありますか? 推奨できる戦略はありますか (バインディングをまったく使用しない、代わりに何をすべきかなど)?
BeanBinding で私が直面している問題について知りたい場合は、次のようにします。
- JTables内のTableModelを置き換えます(そのため、独自の行を使用したり、行を削除したりすることはできません)
- selectedItem や selectedObject など、特定のプロパティにアクセスできない、または使用できない (少なくとも JComboBox、JList などで一貫して)。
- 特定のプロパティは、読み取り専用または書き込み専用です (selectedItem や selectedObject など)。
- 値 null に特別な値をバインドすることはできますが、たとえば、カスタム マッピング関数などを使用してリスト内の数値を JComboBox 内の文字列にマップすることはできません (適切な toString メソッドを使用して特別なクラスを作成できることはわかっていますが、ただし、これにより、データセット用に特別なラッパー オブジェクトを作成する必要があります)
- ...