JavaFX技巧9:请勿混用Swing / JavaFX
生活随笔
收集整理的這篇文章主要介紹了
JavaFX技巧9:请勿混用Swing / JavaFX
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
JavaFX團(tuán)隊(duì)非常努力地說服我們,因?yàn)榭梢詫wing內(nèi)容嵌入JavaFX UI中,因此可以很容易地從Swing遷移到JavaFX。 我必須承認(rèn),我從來沒有親自嘗試過,但是根據(jù)我從客戶那里得到的反饋,我只能建議不要將Swing和JavaFX混合使用。 在撰寫本文時,與Swing集成(在JavaFX問題管理系統(tǒng)中注冊)相關(guān)的未解決問題(120多個錯誤)已超過200個。
發(fā)行類型
以下是如果您仍然決定使用它可能遇到的問題列表:
- 外觀 –在Swing中完成的部分與在JavaFX中完成的部分之間總會有明顯的差異。 字段將顯示不同的字體質(zhì)量 ,不同的邊框,不同的焦點(diǎn)突出顯示等。
- 閃爍 –您可能會在用戶界面中遇到閃爍
- 行為 -控件的行為會有所不同。 用戶將可以使用手勢滾動JavaFX控件,但不能滾動Swing控件。 雙擊兩個列標(biāo)題之間的行時,JavaFX TableView控件的列將自動調(diào)整大小,而Swing JTable則不會。
- 線程 –您一直在處理與使用兩個不同的UI線程(Swing EDT和JavaFX應(yīng)用程序線程)有關(guān)的問題。 您將遇到死機(jī)的UI和不一致的狀態(tài)問題。
- 窗口管理 –很難/不可能控制哪個窗口將在哪個其他窗口之上以及哪個窗口阻止其他窗口的輸入(模態(tài)) 。 彈出窗口可能不再自動隱藏 。
- 焦點(diǎn)處理 – 錯誤的窗口可能會引起焦點(diǎn)。 Swing控件和JavaFX控件之間的焦點(diǎn)遍歷可能不起作用。
- 上下文菜單 –您可能無法通過單擊UI的其他位置來關(guān)閉菜單,或者最終可能同時打開兩個上下文菜單(一個由JavaFX控制,一個由Swing控制)。
- 光標(biāo) –在不同的控件/組件上設(shè)置不同的光標(biāo)將無法正常工作 。
- 拖放 – 無論是在SwingNode本身內(nèi)還是在Swing與JavaFX之間,異常都將繼續(xù)存在。
- 性能 -混合了Swing組件的JavaFX控件的性能/渲染速度將降低 。
結(jié)論
這是什么意思? 好吧,這意味著如果您遵循Swing / JavaFX混合策略,最終將不會節(jié)省時間。 至少如果質(zhì)量對您而言不重要。 如果您只關(guān)注使功能可用,那么,也許可以,但是如果您想發(fā)布商業(yè)化的研究生/專業(yè)應(yīng)用程序,則不會。
如果您已決定遷移到JavaFX,那么請執(zhí)行Full Monty并在JavaFX中重做整個應(yīng)用程序,這是值得等待的。
翻譯自: https://www.javacodegeeks.com/2014/07/javafx-tip-9-do-not-mix-swing-javafx.html
總結(jié)
以上是生活随笔為你收集整理的JavaFX技巧9:请勿混用Swing / JavaFX的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为手机YOYO在哪里
- 下一篇: 腾讯称混元大模型中文能力超过GPT3.5