2017-09-26 1 views
0

Mein Ziel Ich möchte javafx auf Linux Arm-Gerät ausführen, aber fehlgeschlagen!JavaFX kann nicht auf Debian8 Arm Gerät NanoPC T3 laufen

NanoPC T3 gibt es einige Informationen:

[email protected]:~$ uname -a 

Linux NanoPi3 3.4.39-s5p6818 #3 SMP PREEMPT Mon Jun 19 18:28:53 HKT 2017 armv7l GNU/Linux 

[email protected]:~$ cat /etc/issue 

Debian GNU/Linux 8 \n \l 

[email protected]:~$ getconf LONG_BIT 

32 

Display: 7 in Capacitive screen (X710) 

ich getan hatte:

1, download jdk-8u144-linux-arm32-VFP-hflt.tar.gz;

2 herunterladen JavaFX Embedded SDK;

3, kopieren Sie die Dateien acco RD javafxports;

4, schreiben Sie eine Beispiel-App und ein Paket, laufen auf meinem NanoPC T3;

 

    package application; 

    import javafx.application.Application; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.scene.Scene; 
    import javafx.scene.control.Button; 
    import javafx.scene.layout.StackPane; 
    import javafx.stage.Stage; 


    public class Main extends Application { 
     @Override 
     public void start(Stage primaryStage) { 
      try { 
       StackPane root = new StackPane(); 

       Button btn = new Button(); 
       btn.setText("Say 'Hello World'"); 
       btn.setOnAction(new EventHandler() { 

        @Override 
        public void handle(ActionEvent event) { 
         System.out.println("Hello World!"); 
        } 
       }); 

       root.getChildren().add(btn); 

       Scene scene = new Scene(root,400,400); 
       scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); 

       primaryStage.setScene(scene); 
       primaryStage.setTitle("Hello ARM"); 
       primaryStage.show(); 
      } catch(Exception e) { 
       e.printStackTrace(); 
      } 
     } 

     public static void main(String[] args) { 
      launch(args); 
     } 
    } 

Mein Problem

Wenn ich die app von cammond laufen: java -jar HelloArm.jar, UI-System ist nicht RESPONSABLE.

Aber ich logge das Gerät mit SSH normalerweise, kann auch das Thread-Java-Programm sehen.

ps -aux | Grep Java.

Wo ich es töten, System-UI wieder richtig.

I-Test einige Flagge für Java fügt hinzu: -Dmonocle.platform = Monocle -Djavafx.debug = true -Dprism.order = sw (tips from here)

Einige Idee

1, I Test Java Swing, es ist in Ordnung;

2, fand ich, dass Javafx mit Monokel auf Linux. Ich weiß nicht, X11 ist für Javafx uncorret? Oder muss ich etwas für X11 installiert haben?

Kann mir jemand helfen?

Danke!

+0

Ich habe JavaFX 8 erfolgreich auf einem UDOO Quad (ARMv7) ausgeführt. Es war nicht einfach, am wichtigsten ist, dass JavaFX den Framebuffer/dev/fb0 benutzt. –

+0

Danke! M. le Rutte gestern. Ich fand, dass fb Optionen verwenden müssen. – larntin

Antwort

2

Schließlich haben wir gefunden, dass wir -Djavafx.platform = eglfb hinzufügen müssen, lassen Sie die javafx Rander die Benutzeroberfläche mit eglfb.

Viel Glück.

denkt nach.

Verwandte Themen