java - 将 JavaFX 与 Python 相结合

标签 java python jython

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

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

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

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

提前谢谢你。

最佳答案

是的,您可以使用 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,并使用对象工厂之类的东西将控制分派(dispatch)给 Python (Jython) 代码。更多相关信息:http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications

关于java - 将 JavaFX 与 Python 相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018661/

相关文章:

python - 如何在 Jython 中使用 native Cpython 扩展

java - 无法销毁线程组 org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=SitemapCheck.SitemapAction,maxpri=10]

python - 使用 Scapy 更改数据包 - 在编辑数据包的有效负载后自动更新属性(长度、校验和等)

python - Google Slide API - 如何多次复制一张幻灯片并每次创建一个唯一的对象 ID

jython - 如何为 Jython 交互式解释器 session 停用 JLine?

java - 如何从 jython 的 url 中删除 .py

Java 通用 : Can a Generic extends another Generic class?

Confluence 的 C# 语法高亮显示

java - 过河者的一般 DFS

python - 如何用逗号空格 (pep8) 替换所有逗号?