Sto provando a creare un ChoiceBox in JavaFX 8, che richiede una raccolta. Io non riesco a capire come creare una collezione però ... Se provo:Creazione di una lista/collezione osservabile
ObservableList<String> list = new ObservableList<String>();
ottengo un errore che dice che non posso istanziare ObservableList perché è astratta. Comprensibile. Se guardo il doc per ObservableList posso vedere che SortedList implementa ObservableList, ma non posso fare:
ObservableList<String> list = new SortedList<String>();
perché non c'è costruttori applicabili. A quanto pare ho bisogno di avere una ObservableList per passare alla SortedList, il che è strano perché non riesco a creare una ObservableList.
constructor SortedList.SortedList(ObservableList<? extends String>,Comparator<? super String>) is not applicable
(actual and formal argument lists differ in length)
constructor SortedList.SortedList(ObservableList<? extends String>) is not applicable
(actual and formal argument lists differ in length)
Non sono sicuro di come decifrarlo. Se provo
ObservableList<String> list = new SortedList<SortedList<String>>();
//or
ObservableList<String> list = new SortedList<ObservableList<String>>();
per disperazione, ottengo un errore ancora più contorto.
SortedList<String> list = new SortedList<String>();
non funziona. In qualche modo questo funziona (ma a quanto pare utilizza un'operazione non sicura):
ChoiceBox box = new ChoiceBox(FXCollections.observableArrayList("Asparagus", "Beans", "Broccoli", "Cabbage" , "Carrot", "Celery", "Cucumber", "Leek", "Mushroom" , "Pepper", "Radish", "Shallot", "Spinach", "Swede" , "Turnip"));
Così ho provato:
ObservableList<string> list = new FXCollections.observableArrayList("Asparagus", "Beans", "Broccoli", "Cabbage" , "Carrot", "Celery", "Cucumber", "Leek", "Mushroom" , "Pepper", "Radish", "Shallot", "Spinach", "Swede" , "Turnip");
ma senza fortuna neanche lì. Sono super confuso, facendo sempre gli stessi schemi in un ciclo infinito di tentativi di capire questo. La documentazione che ho trovato mostra esempi che non aiutano o nessun esempio. Anche la documentazione ufficiale è inutile:
"Supponiamo, ad esempio, di disporre di una raccolta c, che può essere una lista, un set o un altro tipo di raccolta. Questo idioma crea una nuova ArrayList (un'implementazione del interfaccia List), inizialmente contenente tutti gli elementi in c.
List<String> list = new ArrayList<String>(c);
" in modo da creare ArrayList, un'implementazione di List, ho bisogno di avere un elenco. la ragione per cui sono andato alla documentazione, in primo luogo, è stato imparare a fare quello che stanno assumendo che io abbia. Mi sono perso. Aiuto?
pensavo di aver provato observableArrayList, ma a quanto pare no. Grazie! – LilSweden