私はOPと同じ立場にいます-レガシースイングアプリケーションを持っていますが、ネイティブではサポートしていない新しいイディオムとインターフェースを実装する必要があります。これらのアプリケーションの最大のものは、さまざまな理由(モジュール性の向上、MVCおよびイベントディスパッチ構造の改善など)のために数回リファクタリングされているため、UIコードの書き換えを完全に嫌うわけではありません。だから私はこの問題について長く一生懸命考えました。
ただし、本質的にレガシーテクノロジーであることに多くの時間と労力を投資しないと、Swingで解決できないものもあります。たとえば、単純なマウスイベント以外の新しいタッチスクリーンデバイスは、Swing自体ではサポートされていません。Swingベースのブラウザコンポーネントを提供するのも同様に面倒または高価であり、私の場合、javafx-in-swingアプローチは、UIイベントの処理を自明でない方法で複雑にするため、オプションではありません。
私はそれがその時代に古くて忠実であったと思います、そしてあなたのプラットフォームがあなたのコードベースと同じくらい変わらないなら、明らかにそれを固守してください。しかし、アプリケーションがより現代的な新しいユースケースに進むためには、おそらくJavaFX 2+が私の場合に前進する方法でしょう。
サイドノートとして:Swingでjfxで消えていたら良かったと思っていたが、そうではなかった1つの機能は、UIイベントのディスパッチに対する1スレッドからルールへのすべてのアプローチです。UIを鮮明で応答性の高いものに保つために、重要なユーザーインターフェイスにはマルチスレッドが必要です。APIIHOの欠点は、同じ落とし穴を簡単に見つけられるようにアプリケーション開発者に任せることです。