Zacząłem bawić się JavąFX i mam pewien problem. Mam kilka rozmiarów przechowywanych w modelu jako BooleanProperty, a w widoku jako CheckBoxy. CheckBoxy łączę z odpowiednimi rzeczami (?) z dokumentu .fxml za pomocą Scene Builder'a. Zauważyłem, że nie mogę zrobić tablicy CheckBoxów, np CheckBox sizes[9] (czy coś takiego) i dawać referencję do odpowiedniego elementu w tablicy, tylko trzeba każdy CheckBox osobno. Mimo to, chciałbym mieć rozmiary w jednym miejscu, więc napisałem coś takiego:
@FXML
private CheckBox S;
@FXML
private CheckBox M;
@FXML
private CheckBox L;
@FXML
private CheckBox XL;
@FXML
private CheckBox XL2;
@FXML
private CheckBox XL3;
@FXML
private CheckBox XL4;
@FXML
private CheckBox XL5;
@FXML
private CheckBox XL6;
private CheckBox[] sizeCheckBoxes = {S, M, L, XL, XL2, XL3, XL4, XL5, XL6};
Niestety, wyskakuje NullPointerException przy czymś takim:
sizeCheckBoxes[2].setSelection(true)
Nie ma co się dziwić, CB nie zostały zainicjowane. Jednakże nie mogę ich ręcznie zainicjować, gdyż wtedy to już nie będzie połączony obiekt przez SceneBuildera. To właśnie jest mój problem - jak przechowywać sobie rozmiary "w jednym miejscu" (tablica, lista), żeby np. w jednej pętli zrobić dla nich tę samą czynność, jednocześnie nie tracąc referencji z obiektami/rzeczami (?) utworzonymi przez SceneBuildera?
Checkboxes
, w której będą się znajdować te prywatne pola z checkobaxami i metody publiczne, którymi będziesz na nich operować. To tylko propozycja, guru nie jestem