簡體   English   中英

無法從Eclipse運行JavaFx代碼

[英]Can't run JavaFx code from Eclipse

我在網站上發現了這個代碼oracle但是我不能用Eclipse啟動它說我“無法啟動”。 我已經安裝了JDK 8但它不起作用......

有人有解決方案嗎? :p

public class SwingFX extends Application {

@Override
public void start (Stage stage) {
    final SwingNode swingNode = new SwingNode();

    createSwingContent(swingNode);

    StackPane pane = new StackPane();
    pane.getChildren().add(swingNode);

    stage.setTitle("Swing in JavaFX");
    stage.setScene(new Scene(pane, 250, 150));
    stage.show();
    }

private void createSwingContent(final SwingNode swingNode) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            swingNode.setContent(new JButton("Click me!"));
        }
    });
}
}

鏈接到我找到代碼的網站: https//docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm

在Java 8中,即使它沒有main(String[] args)方法,也可以直接啟動javafx.application.Application子類。 問題是當前版本的Eclipse沒有檢查這一點,並且(至少在上下文菜單中)僅檢查main(...)方法是否存在。 因此,要允許它從Eclipse運行,您可以自己添加main(...)方法:

public class SwingFX extends Application {

    @Override
    public void start(Stage stage) {
        // ...
    }

    public static void main(String[] args) {
        launch(args);
    }
}

或者,您可以直接指示Eclipse從“運行配置”向導運行它。 選擇SwingFX類后,從菜單中選擇“運行”,然后選擇“運行配置”。 在“Main”選項卡中,確保顯示正確的類名(即“SwingFX”),然后按“運行”按鈕。

設置完成后,工具欄上的綠色“運行”按鈕(在Java透視圖中)將再次運行應用程序,直到您運行其他操作。

Eclipse在檢測JavaFX應用程序可以在Java 8中沒有main方法的情況下啟動時遇到問題 - 解決方法是自己添加它

public static void main(String[] args) {
    launch(args);
}

你沒有寫主要方法。 因此JVM不知道起點

暫無
暫無

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

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