Ma cible Je veux exécuter javafx sur un périphérique Linux Arm, mais j'ai échoué!Javafx ne peut pas être exécuté sur Debian8 Arm Device NanoPC T3
T3 NanoPC, il y a quelques informations:
[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)
je l'avais fait:
1, télécharger jdk-8u144-linux-arm32-VFP-hflt.tar.gz;
2, télécharger JavaFX Embedded SDK,
3, copiez les fichiers Acco javafxports;
4, écrivez un exemple d'application et de package, exécutez sur mon 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); } }
Mon problème
Quand je lance l'application par cammond: java -jar HelloArm.jar, l'interface utilisateur du système n'est pas responsable. Mais, je me connecte l'appareil en utilisant normalement ssh, peut également voir le programme thread java.
ps -aux | grep java. Là où je le tue, l'interface utilisateur du système se remet en place.
test j'ajouter un peu de drapeau pour java: -Dmonocle.platform = Monocle = true -Djavafx.debug -Dprism.order = sw (tips from here)
Une certaine idée
1, je tester Java swing, c'est OK;
2, j'ai trouvé que Javafx en utilisant monocle sur linux. Je ne sais pas, X11 est uncorret pour javafx? Ou, je dois être installé quelque chose pour X11?
Quelqu'un peut-il m'aider?
Merci!
J'ai lancé JavaFX 8 avec succès sur un Quad UDOO (ARMv7). Ce n'était pas facile, le plus important est que JavaFX utilisera le fichier frambebuffer/dev/fb0. –
Merci! M. le Rutte hier. J'ai trouvé que doit utiliser les options fb. – larntin