当我点击"运行程序"我的程序将无法识别我的FXML文件。 netbeans中的绿色箭头,但与"运行文件"在主java文件上

时间:2017-04-13 22:21:00

标签: javafx

public class IST311Team3Bank extends Application {

@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("/view/FXMLUserLogin.fxml"));

Scene scene = new Scene(root, 300, 275);
stage.setTitle("Team3 Bank Login");

stage.setScene(scene);
stage.show();
}

  /**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}

}

这是我的主要javafx文件。当我右键单击它并点击"运行文件"它看起来工作得很好,我得到了我的基本登录页面。但是,当我点击绿色netbeans" Run Project"按钮,我得到一个异常,指向start方法无法找到我的FXML文件。但是,如果我将FXML文件直接移动到包含我的主文件的文件夹并取走路径,它似乎工作得非常好。我知道,如果它位于不同的文件夹中,则必须指定路径,但就我所知,这似乎不是问题。当我"运行文件"我不明白它为什么有效。但不是在我"运行程序"。 ist311team3bank.java文件也在选项中设置为主类。对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是一个常见的初学者问题;)

尝试使用它:

Parent root = FXMLLoader.load(ClassLoader.getSystemClassLoader().getResourceAsStream("view/FXMLUserLogin.fxml"));

使用搜索很容易找到:https://stackoverflow.com/a/19035419/1961102