Моя проблема в том, что я не могу получить объект «Элемент» (значение) из моей карты дерева. Мне нужно отправить эту информацию в мой класс графического интерфейса и отобразить ее в JList, чтобы получить список выбора, поэтому я могу легко выбирать и добавлять песни в список воспроизведения, но в качестве вывода я получаю только «01, 02, 03, 04, 05» (ключ). Пожалуйста, помогите, потому что я новичок и не знаю, что делать.
public class LibraryData {
private static class Item {
Item(String n, String a, int r) {
name = n;
artist = a;
rating = r;
}
// instance variables
private String name;
private String artist;
private int rating;
private int playCount;
public String toString() {
return name + " - " + artist;
}
}
private static Map<String, Item> library = new TreeMap<String, Item>();
static {
library.put("01", new Item("How much is that doggy in the window", "Zee-J", 3));
library.put("02", new Item("Exotic", "Maradonna", 5));
library.put("03", new Item("I'm dreaming of a white Christmas", "Ludwig van Beethoven", 2));
library.put("04", new Item("Pastoral Symphony", "Cayley Minnow", 1));
library.put("05", new Item("Anarchy in the UK", "The Kings Singers", 0));
}
public static String[] getLibrary() {
String [] tempa = (String[]) library.keySet().toArray(new String[library.size()]);
return tempa;
}
РЕШЕНИЕ:
Потому что я должен передать значения другому классу:
JList tracks = new JList(LibraryData.getLibrary());
Я сделал что-то подобное, и это работает
public static Object[] getLibrary() {
Collection c = library.values();
return c.toArray(new Item[0]);
Спасибо, ребята, после 10 часов я наконец сделал это! }
Item
. - person Christian   schedule 18.01.2014library.get("01");
не работает? - person Elliott Frisch   schedule 18.01.2014JList tracks = new JList(LibraryData.getLibrary());
- person rewen   schedule 18.01.2014