Hey zusammen,
Ich möchte gerne Daten an einen Controller übergeben, dass dieser dann aus der gewünschten Datenbank ein paar infos auslesen kann. Hab über google sehr lange gesucht und auch Lösungswege gefunden, allerdings werden meine Variablen wohl nicht richtig gesetzt und ich bekomme ein Nullpointer Exception.
Hier ist der Code wo ich die neue Stage aufrufe und davor den Controller lade.
Hier folgt nun die Controller Klasse
Ich vermute das ich hier beim übergeben der Variablen irgendwas falsch mache. Leider wurde dieser Schritt in den Lösungen die ich gefunden habe nie wirklich erklärt.
Ich hoffe ich hab mich klar ausgedrückt, und bedanke mich schon mal im vorraus für eure Hilfe =)
Mit freundlichen Grüßen
Michi
Ich möchte gerne Daten an einen Controller übergeben, dass dieser dann aus der gewünschten Datenbank ein paar infos auslesen kann. Hab über google sehr lange gesucht und auch Lösungswege gefunden, allerdings werden meine Variablen wohl nicht richtig gesetzt und ich bekomme ein Nullpointer Exception.
Hier ist der Code wo ich die neue Stage aufrufe und davor den Controller lade.
Java:
@FXML
public Stage set2MinHome() throws IOException{
FXMLLoader loader = new FXMLLoader();
Parent root =(Parent) loader.load(getClass().getResource("twoMinHome.fxml").openStream());
Scene scene = new Scene(root,300,200);
Stage stage2 = new Stage();
stage2.setScene(scene);
TwoMinHomeController controller = loader.<TwoMinHomeController>getController();
controller.load("homeTeam", timeMin, timeSec);
stage2.show();
return stage2;
}
Hier folgt nun die Controller Klasse
Java:
public class TwoMinHomeController implements Initializable {
@FXML
ComboBox player = new ComboBox();
String tableName; // alternativ hier noch: = new String("");
int min=0;
int sec=0;
DatabaseSource db = new DatabaseSource();
List<Team> team = new ArrayList<Team>();
ObservableList<String> options = FXCollections.observableArrayList();
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
if(!tableName.isEmpty()){ //Hier gibts die Nullpointer Exception
team = db.getDataTeam(tableName);
if(team.size()>0){
for(int i=0;i<team.size();i++){
String name = team.get(i).getName();
int num = team.get(i).getNum();
String add = num +", "+ name;
options.add(add);
}
player.setItems(options);
} else {
System.err.println("Error while trying to load Team, team size = 0");
}
} else {
System.err.println("String tableName is Empty!");
}
if(min != 0){
System.out.println(min);
} else {
System.out.println("Keine Minuten angabe übertragen!");
}
}
public void load(String tableName, int min, int sec){
this.tableName = tableName;
this.min = min;
this.sec = sec;
}
}
Ich vermute das ich hier beim übergeben der Variablen irgendwas falsch mache. Leider wurde dieser Schritt in den Lösungen die ich gefunden habe nie wirklich erklärt.
Ich hoffe ich hab mich klar ausgedrückt, und bedanke mich schon mal im vorraus für eure Hilfe =)
Mit freundlichen Grüßen
Michi