簡體   English   中英

是否可以使用JavaFx創建Java Applet?

[英]Is it possible to create java applets using JavaFx?

我想使用Javafx Scene Builder創建一個applet。 我知道創建小應用程序的傳統方法,但是最近我開始使用JavaFx,我愛上了可以使用Scene Builder創建出色的用戶界面設計然后編寫簡潔的自定義代碼的方法。 因此,到目前為止,我可以使用JavaFx創建桌面程序,但是現在我想編寫小型實用程序並將其嵌入瀏覽器中。 老實說,我不喜歡編寫代碼來創建小程序的UI的想法,因此我在考慮是否存在使用Javafx創建小程序的方法。

PS-我是Stackoverflow的新手。 因此,請原諒我犯的任何錯誤。

小程序是一項過時的技術,因此您應該完全忘記它們。 至少在最新的Chrome瀏覽器中以及最有可能的其他瀏覽器中,都已刪除了對applet的支持。

也不能通過JavaFX創建小程序。

JFXPanel可以完成此操作,該JFXPanel允許將JavaFX組件嵌入到Swing組件中,並且可以從Swing組件中輕松創建Applet

這是一個將Java FX Rectangle繪制到Applet的示例:

public class Main extends Applet {

    private void initAndShowGUI() {
        // This method is invoked on Swing thread
        final JFXPanel fxPanel = new JFXPanel();
        fxPanel.setPreferredSize(new Dimension(100, 100));
        add(fxPanel);
        setVisible(true);
        Platform.runLater(
            new Runnable() {
                @Override
                public void run() {
                    initFX(fxPanel);
                }
            }
        );
    }

    private static void initFX(JFXPanel fxPanel) {
        // This method is invoked on JavaFX thread
        final Scene scene = createScene();
        fxPanel.setScene(scene);
    }

    private static Scene createScene() {
        final Rectangle rectangle = new Rectangle(100.0, 100.0);
        rectangle.setFill(Color.BLACK);
        return new Scene(new VBox(rectangle));
    }

    @Override
    public void init() {
        SwingUtilities.invokeLater(
            new Runnable() {
                @Override
                public void run() {
                    initAndShowGUI();
                }
            }
        );
    }
}

但是, Applet已過時 ,將很快被刪除,因此,如果您可以避免使用它們,請不要使用它們。 或者,您可以使用Deployment Toolkit libraryJavaFX application嵌入到網頁中,或從瀏覽器中啟動它,有關此方法的更多詳細信息,請參見此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM