2011-12-19 20 views
8

私は古いJavaアプレットが好きです。しかし、私はJFXの仕組みが本当に好きなので、それを使っていくつかのゲームを作ってみたいのですが、それは私のウェブサイトに投稿できるようにしたいと思っています。どのようにこれを行うに行くだろうか?JavaFX Webアプレットを作ることは可能ですか?

答えて

4

はい、あなたはSwingベースのJAppletにJavaFXのGUIを埋め込むことができます。これは、JFXPanelを使用して行うことができます。これは基本的に、SwingパネルとJavaFXパネルの間のアダプタです。

コンプリート例:
セットアップのJavaFX GUIをFXAppletクラス:

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 
    } 
} 

そして、それのためのテスト実装:また

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を使用することができますいくつかのドキュメントも含まれています。

関連する問題