【问题标题】:Netbeans JavaFx Cant select Main classNetbeans JavaFx 无法选择主类
【发布时间】:2019-06-20 07:47:46
【问题描述】:

当我尝试在 NetBeans 中运行我的代码时,我看到一个空窗口,上面写着“浏览 JavaFX 应用程序类”,但没有可供选择的窗口。我该如何解决这个问题?我正在尝试创建一个纸牌游戏。 这是 main 方法的开始。

import cardutils.Deck;
public class Main {

    public static void main(String[] args) {         
            Deck deck = new Deck();
            System.out.println(deck.toString());
    }
}

【问题讨论】:

  • 你能告诉我们minimal reproducible example吗?
  • 你是什么意思?我的项目都不会运行:(
  • 他们不需要运行。这就是您发布它们的原因,因此我们可以帮助您运行它们。
  • 尝试清理并构建 (shift-F6)、运行文件 (shift-F11) 或从命令行运行,
  • 当我试图构建一个空窗口时,它是否显示“可用类”。该列表为空。

标签: java javafx netbeans


【解决方案1】:

如果你想制作一个 JavaFX 应用程序,你需要创建一个类来扩展 JavaFX 的 Application 类,并且它还包含你的 main 方法。所以是这样的:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;

public class Deck extends Application {

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


   @Override
   public void start(Stage stage) {
      Group root = new Group(new Label("Hello JavaFX!"));
      Scene scene = new Scene(root, 1024, 786);
      stage.setScene(scene);
      stage.show();
   }
}

然后简单地运行项目,Netbeans 就会找到这个类,因为它包含一个 main 方法,并且会让你选择它。

但是,如果该项目并不真正需要 JavaFX(我只是想知道,因为您只是在命令行中打印了一些内容),那么您在创建 Netbeans 项目时可能选择了错误的项目类型(JavaFX 项目而不是普通的 Java 项目)。在这种情况下,创建一个新的标准 Java 项目并从旧项目中复制代码。

编辑:“可用类”列表为空,因为 Netbeans 在您似乎创建的 JavaFX 项目中找不到任何扩展 javafx.application.Application 的类。

【讨论】:

  • 我将它作为 javaFx 使用,因为我与合作伙伴一起使用 github。我试过刷新缓存。
  • 有什么区别?
  • 简单地说:如果您想要或需要使用 JavaFX,请使用与我在上面发布的类类似的类,让 Netbeans 找到(“可用类”)并运行您的 JavaFX 应用程序。如果您不想要或不需要 JavaFX,只需在 Netbeans 中创建一个普通项目,它就会将具有普通 main() 方法的类识别为可执行类并让您运行它。
  • @TobiasHaraldsson 请注意,您实际上并不需要 main() 方法或 Application.launch() 方法。没有它们,他的代码也能正常工作。
  • @LuminousNutria 是的,他的代码可以编译,但如果没有 main 方法就什么也做不了:-)
【解决方案2】:

我遇到了同样的问题。您可能需要显式设置源目录路径。我通过明确设置源目录解决了这个问题。文件 -> 项目属性 -> 添加文件夹 -> 浏览您的 src 目录。构建它并再次运行。我可以运行应用程序。

【讨论】:

    【解决方案3】:

    我遇到了类似的问题,它们似乎是由项目文件夹下的残留文件引起的。我删除了文件夹和其中的所有内容,并重新创建了一个新项目。这样就解决了问题。

    【讨论】:

      猜你喜欢
      • 2020-09-12
      • 2021-11-08
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 2013-05-09
      • 2013-05-15
      相关资源
      最近更新 更多