2017-03-25 8 views
1

ich mich gefragt, ob es möglich ist, ein GUI mit JavaFX zu entwerfen und anschließend mit einigem Python Code kombiniert (zum Beispiel eine Schaltfläche mit JavaFX machen und dann Handler-Code in Python schreiben zu geben etwas Funktionalität).Kombinieren JavaFX mit Python

JavaFX ist großartig, um eine wirklich gute GUI zu entwerfen, und ich brauche Python, um einen Roboter zu steuern (die Bibliotheken sind nur in Python verfügbar).

hatte ich einen Blick über das Internet und ich fand Jython, aber ich konnte nicht verstehen, wenn es erlaubt mir diese Dritten Python-Bibliotheken zu verwenden.

Hat jemand einen guten Vorschlag oder irgendwelche Quellen, wo ich schauen kann? Jede Information würde geschätzt werden.

Vielen Dank im Voraus.

+1

Jython und Python sind die gleiche Sprache, aber wenn es um Bibliotheken geht, die du benutzen kannst ... dann sind es ganz andere Bestien. Ich bezweifle sehr, dass diese Bibliotheken für Jython verfügbar sind, so dass sie Null-DLL verwenden sollten, sind viele interessante Python-Bibliothek teilweise in C++ oder Fortran geschrieben. In diesem Fall kann jython sie nicht laden. – minus

Antwort

1

Ja, können Sie Ihre JavaFX UI in Python (Jython) schreiben:

#!/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) 

Das ist ganz einfach. Ich mache es.

Sie können Ihre JavaFX-Benutzeroberfläche auch in Java schreiben und so etwas wie die Objektfabriken verwenden, um die Steuerung an Ihren Python- (Jython) -Code zu senden. Mehr dazu hier: http://www.jython.org/jythonbook/en/1.0/JythonAndJavaIntegration.html#using-jython-within-java-applications

Verwandte Themen