如何強制javaFx應用程序使用gtk3庫?我知道SWT允許爲此設置環境變量SWT_GTK3=1
。 javaFx有沒有類似的可能性/解決方法?如何針對gtk 3庫運行javaFx應用程序?
6
A
回答
8
JavaFX使用GTK2庫,不太可能在不久的將來切換。 這裏是相關的問題 - https://javafx-jira.kenai.com/browse/RT-35264
UPDATE: JavaFX的錯誤現在對bugs.openjdk.java.net:
- https://bugs.openjdk.java.net/browse/JDK-8088966(封閉,一式兩份)
- https://bugs.openjdk.java.net/browse/JDK-8089584(開)
在上期問題中有一條評論
由於在同一個應用程序混合GTK2和GTK3導致此 問題,我們可能必須提供兩個本機庫,一個用於GTK2 ,一個用於GTK3
因此,從長遠來看(JDK 9版本)它可能是能夠進行對GTK3運行
== UPDATE(2016年5月11日)
新功能(8087516: Conditional support for GTK 3 on Linux)允許我們使用任何GTK v2或3使用JavaFX。默認值沒有改變 - gtk 2將被優先使用。
-Djdk.gtk.verbose=true // Output the version detected and used
-Djdk.gtk.version=3 // Toggles the preferred version to GTK 3
更多細節可以發現here
0
沒有簡單的解決方案。 JavaFX有它自己的渲染框架。據我瞭解,這是基於OpenGL,並不使用任何本機代碼。沒有這個,JavaFX將無法使用CSS和視覺效果來設計UI。
如果你真的需要這個,那麼你必須編寫自己的庫來模擬使用JavaFX場景圖和其他工具的Gtk3。但是,這不會允許你訪問本地組件。
0
你最好的機會是聊到Java的侏儒人。他們實現了他們的庫,使得用GTK接口編寫Java應用成爲可能。應該是可能的擴展,以支持JavaFX。 http://java-gnome.sourceforge.net/
相關問題
- 1. 在Windows上運行GTK#應用程序
- 2. 從JavaFX應用程序運行dll
- 3. 爲ARM運行JavaFX應用程序
- 4. 運行JavaFX應用程序:JFXPanel vs Application.launch
- 5. 運行JavaFX應用程序的要求
- 6. Vala/GTK + 3跨應用程序拖放
- 7. Gtk +3 TextView應用程序崩潰
- 8. 如何使用maven構建可運行的JavaFX應用程序?
- 9. 如何確定JavaFX應用程序是否由WebStart運行?
- 10. 如何在tomcat中部署和運行javafx應用程序
- 11. JavaFx:如何在應用程序運行時觀察Anchorpane?
- 12. 如何從Notepad ++運行JavaFX應用程序? (僅以.jar文件運行)
- 13. 如何翻譯GTK +應用程序?
- 14. JavaFX/Netbeans程序未運行
- 15. 運行gtk#在MonoDev中使用.Net製作的應用程序
- 16. 在E72上運行鍼對E71的應用程序
- 17. 針對v1和v2運行Spark應用程序
- 18. 不止一次運行javafx應用程序線程
- 19. iOS應用程序 - 如何製作和調用運行時庫/應用程序
- 20. 段錯誤執行GTK應用程序
- 21. JavaFX應用程序
- 22. 如何同時運行3個依賴應用程序
- 23. 如何在localhost/<my_port>上運行Rails 3應用程序?
- 24. 在Windows 10上運行GTK#應用程序
- 25. GTK +應用程序沒有全屏運行
- 26. 在客戶端瀏覽器中運行GTK +應用程序
- 27. 你需要python來運行python gtk/pyQt應用程序嗎?
- 28. 在Linux機器上從Windows上運行GTK +應用程序
- 29. GTK應用程序不能在Windows上運行
- 30. 認證GTK應用程序以root權限運行
我有一個非常簡單的應用程序 - https://gist.github.com/ibuziuk/8351313。運行它並在終端中使用「sudo pldd [pid] | grep gtk」後,我得到了一個帶有gtk2庫的輸出。我想檢查的是,javaFx是否與gtk3兼容? –
JavaFX使用包含AWT的Java,它在某些平臺上與GTK鏈接。這並不意味着您可以使用它創建JavaFX UI。 –
是的,但可以通過FXCanvas和JFXpanels將javaFx組件嵌入到Swing/AWT/SWT組件中。它適用於gtk2,但不適用於gtk3。所以,我爲javaFx團隊創建了一個bug - https://javafx-jira.kenai.com/browse/RT-35264。 –