2017-09-26 7 views
0

내 대상 Linux Arm 장치에서 javafx를 실행하고 싶지만 실패했습니다! 내가했던Javafx 데비안 팔 장치 NanoPC T3에서 실행할 수 없습니다

[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) 

:

, 일부 정보

NanoPC T3가

1, 다운로드 JDK-8u144 - 리눅스 - arm32-VFP-hflt.tar.gz;

2, JavaFX Embedded SDK 다운로드,

3, 파일이 ACCO 복사 rding ;

4, 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); 
     } 
    } 

내가 cammond하여 응용 프로그램 실행 내 문제 : 자바 HelloArm.jar는, 시스템 UI가 RESPONSABLE하지 -jar을.

그러나 일반적으로 ssh를 사용하여 장치에 로그인하고 스레드 Java 프로그램도 볼 수 있습니다.

ps -aux | grep java.

내가 죽이면 시스템 UI가 다시 정상적으로 작동합니다.

자바에 대한 몇 가지 플래그를 추가

I 시험 : -Dmonocle.platform = 단안경 -Djavafx.debug = 사실 -Dprism.order = SW (tips from here)

일부 아이디어

1, I Java 스윙 테스트, 괜찮습니다.

2 나는 리눅스에서 단안경을 사용하여 Javafx를 찾았습니다. 나도 몰라, X11은 javafx에 대해 무관심한가요? 아니면 X11에 설치해야합니까?

누가 도와 줄 수 있습니까?

감사합니다.

+0

JavaFX 8을 UDOO Quad (ARMv7)에서 성공적으로 실행했습니다. 쉬운 일이 아니 었습니다. 가장 중요한 것은 JavaFX가 frambebuffer/dev/fb0을 사용한다는 것입니다. –

+0

감사합니다. M. le Rutte 어제. fb 옵션을 사용해야한다는 것을 알았습니다. – larntin

답변

2

마지막으로, 우리는 -Djavafx.platform = eglfb를 추가해야하고, javafx가 eglfb를 사용하여 UI를 랜더링하게해야한다는 것을 알았습니다.

행운을 빈다.

생각해보기