Swings:将列表中的选定值存储到数组中。
Swings: storing the selected values from List into an array.
我在 java 中列出了如下列表:
String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
JList places = new JList(names) ;
然后为了访问我在 valueChanged 方法中编写的选定值:
String[] emailID= places.getSelectedValuesList().toString[];
这是不正确的...请帮助我如何重写这一行,以便将选定的值存储在数组中。
如果你想将所有选定的项目都作为一个数组,你可以这样做:
public static void main(String[] args){
String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
JList<String> places = new JList<String>(names) ;
places.setSelectedIndices(new int[]{0,1,2});
String[] emailIDs = places.getSelectedValuesList().toArray(new String[]{});
for(String s : emailIDs){
System.out.println(s);
}
}
注:
我将 <String>
添加到列表中,因为我假设您总是希望将字符串作为值。这样您就可以获得具有通用输出的 List .toArray()
方法。否则你需要得到一个 Object[]
(对象数组)并转换值。
要在字符串数组中存储选定的项目,您可以试试这个
Object[] values = places.getSelectedValues();
String[] strings = new String[values.length];
for(int i = 0; i < values.length; i++) {
if(values[i] instanceof String) {
strings[i] = ((String) values[i]);
}
}
我在 java 中列出了如下列表:
String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
JList places = new JList(names) ;
然后为了访问我在 valueChanged 方法中编写的选定值:
String[] emailID= places.getSelectedValuesList().toString[];
这是不正确的...请帮助我如何重写这一行,以便将选定的值存储在数组中。
如果你想将所有选定的项目都作为一个数组,你可以这样做:
public static void main(String[] args){
String names[] = {"abc@gmail.com", "def@gmail.com","ghi@gmail.com","jkl@gmail.com"};
JList<String> places = new JList<String>(names) ;
places.setSelectedIndices(new int[]{0,1,2});
String[] emailIDs = places.getSelectedValuesList().toArray(new String[]{});
for(String s : emailIDs){
System.out.println(s);
}
}
注:
我将 <String>
添加到列表中,因为我假设您总是希望将字符串作为值。这样您就可以获得具有通用输出的 List .toArray()
方法。否则你需要得到一个 Object[]
(对象数组)并转换值。
要在字符串数组中存储选定的项目,您可以试试这个
Object[] values = places.getSelectedValues();
String[] strings = new String[values.length];
for(int i = 0; i < values.length; i++) {
if(values[i] instanceof String) {
strings[i] = ((String) values[i]);
}
}