【问题标题】:Combine JavaFX with Python将 JavaFX 与 Python 相结合
【发布时间】:2017-03-25 16:05:54
【问题描述】:

我想知道是否可以使用 JavaFX 设计一个 GUI,然后结合一些 Python 代码(例如制作一个按钮使用 JavaFX,然后在 Python 中编写处理程序代码以提供一些功能)。

JavaFX 非常适合设计一个非常好的 GUI,我需要 Python 来控制机器人(这些库仅在 Python 中可用)。

我浏览了网络并找到了 Jython,但我不明白它是否允许我使用这些第三方 Python 库。

有没有人有好的建议或我可以查看的任何来源?任何信息将不胜感激。

提前谢谢你。

【问题讨论】:

  • Jython 和 Python 是同一种语言,但是当涉及到您可以使用的库时……那么它们就完全不同了。我非常怀疑这些库是否可用于 Jython,因此它们应该使用零 dll,许多有趣的 python 库部分是用 c++ 或 fortran 编写的。在这种情况下,jython 无法加载它们。

标签: java python jython


【解决方案1】:

是的,您可以用 Python (Jython) 编写您的 JavaFX UI:

#!/usr/bin/env jython
'''
"Hello, World!" in Jython and JavaFX

Roughly based on this: http://docs.oracle.com/javafx/2/get_started/hello_world.htm
'''

import sys

from javafx.application import Application

class HelloWorld(Application):

    @classmethod
    def main(cls, args):
        HelloWorld.launch(cls, args)

    def start(self, primaryStage):
        primaryStage.setTitle('Hello World!')

        from javafx.scene import Scene
        from javafx.scene.layout import StackPane
        primaryStage.setScene(Scene(StackPane(), 320, 240))
        primaryStage.show()

if __name__ == '__main__':
    HelloWorld.main(sys.argv)

这很容易。我正在做。

您还可以用 Java 编写您的 JavaFX UI,并使用对象工厂之类的东西将控制分派给您的 Python (Jython) 代码。更多信息在这里:http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications

【讨论】:

  • 如何在我的python中安装模块javafx?我尝试导入它,但回溯说没有名为“javafx”的模块。
  • 不能安装到python中,但是在某些Java版本中jython隐式可用,可以手动加@如果您使用的 Java 版本不可用,则将 987654324@ 添加到您的模块搜索路径。 (而且,如果您需要更多,您可能应该提出一个新问题。)
  • 这里的问题是,虽然 Jython 是一个绝妙的想法,但它的用户群很小,但没有 v3 的迹象,而且负责该项目的人给人的印象是一个小集团:甚至没有论坛,只有一个邮件列表!我用过它,它很管用……但除非发生奇迹,否则你总是会学习一种小众技能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-25
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
相关资源
最近更新 更多