2011-12-19 1 views
8

나는 오래된 자바 애플릿을 좋아한다. 그러나 JFX가 실제로 작동하는 방식을 정말 좋아하기 때문에 게임을 사용하여 게임을 만들거나 게임을 만드는 게임을 만들고 싶습니다.하지만 내 웹 사이트에 게시 할 수 있기를 바랍니다. 어떻게하면이 일을 할 수 있습니까?JavaFX 웹 애플릿을 만들 수 있습니까?

답변

4

http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/deployment_toolkit.html#BABJHEJA, 당신은에 자바 FX GUI를 포함 할 수 있습니다 스윙 기반 JApplet을. 기본적으로 Swing과 JavaFX 패널 간의 어댑터입니다. JFXPanel을 사용하면됩니다.

전체 예제 :

public class FXApplet extends JApplet { 
    protected Scene scene; 
    protected Group root; 

    @Override 
    public final void init() { // This method is invoked when applet is loaded 
     SwingUtilities.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       initSwing(); 
      } 
     }); 
    } 

    private void initSwing() { // This method is invoked on Swing thread 
     final JFXPanel fxPanel = new JFXPanel(); 
     add(fxPanel); 

     Platform.runLater(new Runnable() { 
      @Override 
      public void run() { 
       initFX(fxPanel); 
       initApplet(); 
      } 
     }); 
    } 

    private void initFX(JFXPanel fxPanel) { // This method is invoked on JavaFX thread 
     root = new Group(); 
     scene = new Scene(root); 
     fxPanel.setScene(scene); 
    } 

    public void initApplet() { 
     // Add custom initialization code here 
    } 
} 

그리고 그것을위한 테스트 구현 : 설정 업 자바 FX의 GUI
FXApplet 클래스

public class MyFXApplet extends FXApplet { 
    // protected fields scene & root are available 

    @Override 
    public void initApplet() { 
     // this method is called once applet has been loaded & JavaFX has been set-up 

     Label label = new Label("Hello World!"); 
     root.getChildren().add(label); 

     Rectangle r = new Rectangle(25,25,250,250); 
     r.setFill(Color.BLUE); 
     root.getChildren().add(r); 
    } 
} 

을 다른 방법으로, 당신은 FXApplet gist 사용할 수 있습니다 여기에는 또한 일부 문서가 포함되어 있습니다.

관련 문제