Muszę umieścić wszystkie elementy z DefaultListModel
(w skrzynce) na List<Object>
. Jak mogę to zrobić w Javie?Jak rzucić DefaultListModel na listę <Object>?
5
A
Odpowiedz
7
Jeśli chcesz wykonać kopię zawartości, możesz użyć DefaultListModel.toArray
, aby uzyskać dane i skonstruować z tym swoją ulubioną implementację List
. Alternatywnie możesz wykonać pętlę ponad ListModel.getElementAt
ListModel.getSize
razy.
Jeśli chcesz żywego połączenia pomiędzy zbiorami zamiast kopii, użyj AbstractList
:
public static List<Object> asList(final DefaultListModel model) {
return new AbstractList<Object>() {
@Override public Object get(int index) {
return model.getElementAt(index);
}
...
};
}
Możesz przesuwać Class.cast
tam, ale jest wewnętrznym problemem rodzaje Swing nie jest nazwą rodzajową.
11
Arrays.asList(model.toArray());
1
Według Ye Olde API, trzeba użyć metody elements()
i iteracyjne nad nimi, dodając je do listy. DefaultListModel
nie znajduje się w tej samej hierarchii co zwykłe klasy kolekcji.
LUB użyj tego, co zasugerował jarnbjo!
Powiązane problemy
- 1. Jak rzucić DbSet <T> na listę <T>
- 2. C# rzucić klasę na listę interfejsów
- 3. Jak mogę rzucić listę używając generycznych w Javie?
- 4. Jak przekonwertować listę <string> na listę <myEnumType>?
- 5. Jak przekonwertować listę <char> na listę <string> w języku C#?
- 6. Jak mogę rzucić "ciąg" w "opcji <string>"
- 7. Konwertuj słownik na listę <KeyValuePair>
- 8. Jak mogę rzucić obiekt na rodzajowy?
- 9. Jak mogę przekonwertować ciąg [] na listę <int>?
- 10. Jak utworzyć listę <string> {get; set;} na wątek,
- 11. Jak serializować listę <T> na XML?
- 12. Konwertuj "ArrayList" na "Listę <string>" (lub "Listę <T>") przy użyciu LINQ
- 13. [Ljava.lang.Object; nie można rzucić na [Ljava.util.ArrayList;
- 14. Jak rzucić wyjątek IOException?
- 15. Jak Class.getMethod() rzucić SecurityException
- 16. Czy powinienem rzucić w moje lambda lub rzucić IEnumerable?
- 17. Jak przesłać listę <T> do obiektu ObservableCollection <T> w wtf?
- 18. Jak sortować listę <Integer>?
- 19. Jak równolegle uruchomić listę <Task>?
- 20. Dlaczego nie mogę rzucić listy IEnumerable <T> do BindingList <t>?
- 21. Porównaj listę <String[]>
- 22. Czy mogę rzucić std :: vector <Animal*> na std :: vector <Dog*> bez patrzenia na każdy element?
- 23. jak rzucić datetime2 jako datetime
- 24. Jak przekonwertować listę obiektów na listę interfejsów?
- 25. Jak przekonwertować EntityCollection <T> na listę <T>
- 26. Jak przekonwertować IEnumerable <T> na listę <T> w języku C#?
- 27. Jak przekonwertować System.Linq.Enumerable.WhereListIterator <int> na listę <int>?
- 28. Jak przekonwertować plik IQueryable <T> na listę <T>?
- 29. Jak utworzyć listę <T> z mapy <K,V> i listę <K> kluczy?
- 30. Konwertuj listę <int> na połączony ciąg znaków ints?
Zależy, czy chcesz skopiować dane, czy pozostawić je połączone. –