ฉันอยู่ในตำแหน่งเดียวกันกับ OP - มีแอปพลิเคชัน Swing แบบเดิม แต่ต้องใช้สำนวนและอินเตอร์เฟสใหม่ซึ่งไม่รองรับ แอปพลิเคชั่นที่ใหญ่ที่สุดเหล่านี้ได้รับการ refactored สองสามครั้งด้วยเหตุผลต่าง ๆ (ปรับปรุง modularity, MVC ที่ดีขึ้นและโครงสร้างการจัดส่งเหตุการณ์ ฯลฯ ) ดังนั้นฉันจึงไม่รังเกียจที่จะเขียนรหัส UI ใหม่ทั้งหมด ดังนั้นฉันจึงคิดถึงเรื่องนี้มานานและหนักหน่วง
อย่างไรก็ตามบางสิ่งไม่สามารถแก้ไขได้ด้วย Swing โดยไม่ต้องลงทุนเวลาและความพยายามมากขึ้นในสิ่งที่เป็นเทคโนโลยีดั้งเดิม ตัวอย่างเช่นนอกเหนือจากเหตุการณ์การใช้เมาส์อย่างง่ายอุปกรณ์หน้าจอสัมผัสใหม่และไม่ได้รับการสนับสนุนจาก Swing การให้ส่วนประกอบของเบราว์เซอร์แบบ Swing นั้นค่อนข้างยุ่งยากหรือมีราคาแพงและในกรณีของฉันวิธีการ javafx-in-swing ไม่ใช่ตัวเลือกเนื่องจากมันซับซ้อนการจัดการเหตุการณ์ UI ในรูปแบบที่ไม่สำคัญ
ฉันคิดว่ามันเก่าและซื่อตรงในเวลานั้นและหากแพลตฟอร์มของคุณไม่เปลี่ยนแปลงเท่ากับฐานรหัสของคุณ แต่สำหรับแอปพลิเคชันที่จะก้าวไปข้างหน้าสู่กรณีการใช้งานที่ทันสมัยยิ่งขึ้น JavaFX 2+ น่าจะเป็นหนทางที่จะก้าวไปข้างหน้าในกรณีของฉัน
ในฐานะที่เป็นหมายเหตุด้านข้าง: หนึ่งใน misfeature ใน Swing ฉันชอบที่จะหายไปใน jfx - แต่ไม่ได้ - เป็นวิธีการหนึ่งไปยังกฎพวกเขาทั้งหมดเพื่อ UI เหตุการณ์การจัดส่ง อินเทอร์เฟซผู้ใช้ที่ไม่สำคัญต้องใช้หลายเธรดเพื่อให้ UI มีความคมชัดและตอบสนองและปล่อยให้มันขึ้นอยู่กับผู้พัฒนาแอพพลิเคชั่นทั้งหมดเพื่อสะดุดกับข้อผิดพลาดที่เหมือนกัน