我一直在努力处理我的代码:
private void longStart() {
Task task = new Task<Void>() {
@Override
protected Void call() throws Exception {
System.out.println("Iniciando");
IOManager io = new IOManager();
System.out.println("Buscando archivo Jugadores");
boolean b = io.BuscarData("Jugadores");
System.out.println("Armando Grupos");
if (!b) {
ServiceManager.CargarGrupos(b);
} else {
if (!io.BuscarData("Grupos")) {
ServiceManager.CargarGrupos(b);
}else{
Grupo.setaGrupos(io.LeerGrupos());
}
}
System.out.println("Cargando Partidos");
ServiceManager.CargarPartidos();
System.out.println("Calculando puntos de Grupos");
ServiceManager.ActualizarPuntos();
//ServiceManager.CargarGoleador();
ready.setValue(Boolean.TRUE);
notifyPreloader(new StateChangeNotification(StateChangeNotification.Type.BEFORE_START));
return null;
}
};
new Thread(task).start();
}
简单地说,它的作用是询问文件是否存在,如果不存在,则它与Web服务连接,进行一些无意义的对象创建,最后创建文件。在所有这些喧嚣之后,我可以像这样开始我的用户界面:
try {
root = FXMLLoader.load(getClass().getResource("/fxml/Main.fxml"));
} catch (IOException ex) {
Logger.getLogger(Brasuca.class.getName()).log(Level.SEVERE, null, ex);
}
stage.setTitle("Brasil 2014");
stage.setScene(new Scene(root, 1140, 705));
stage.getIcons().add(new Image("/img/trophy.png"));
stage.setResizable(false);
stage.show();
当它寻找的文件不存在时,它可以正常工作。但是当它存在时,它会尝试阅读它:
public ArrayList<Grupo> LeerGrupos() throws FileNotFoundException, IOException, ClassNotFoundException {
ArrayList<Grupo> ag;
try (ObjectInputStream obj = new ObjectInputStream(new FileInputStream("data/Grupos.jug"))) {
ag = (ArrayList<Grupo>) obj.readObject();
}
return ag;
}
哪个也可以,但是当FXMLLoader尝试加载时,它会失败并抛出此异常:
GRAVE: null
javafx.fxml.LoadException:
file:/C:/Users/Francisco/Documents/NetBeansProjects/Brasuca/dist/run613176200/Brasuca.jar!/fxml/Main.fxm
另外,如果我像这样执行加载程序:
root = FXMLLoader.load(getClass().getResource("fxml/Main.fxml"));
异常变为:
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: Location is required.
任何帮助都是绝对的
答案 0 :(得分:0)
root = FXMLLoader.load(getClass().getResource("/fxml/Main.fxml"));
别忘了&#34; /&#34;当你尝试加载fxml类时,因为它是另一个包。