コードのこの部分を使用して、選択項目を jlist から文字列リストに取得します。次の結果が得られます。
[[String1, String2, String3,...]]
二重[]を避けるにはどうすればよいですか? ありがとう
static List<String> strlist = new ArrayList<String>();
public class tog {
List<String> strlisttemp = new ArrayList<String>();
final JList list = new JList(strlisttemp.toArray());
list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
final ListSelectionListener listSelectionListener = new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
String lstr = list.getSelectedValuesList().toString();
System.out.println(lstr);
strlist = Arrays.asList(lstr.split("\\s*,\\s*"));
}
};
list.addListSelectionListener(listSelectionListener);
JOptionPane.showMessageDialog(null, list, "Select", JOptionPane.QUESTION_MESSAGE);
System.out.println(strlist);
}
これは問題のある部分です: lstr を印刷すると、正しく動作します [...]。これを使用する場合:
strlist = Arrays.asList(lstr.split("\\s*,\\s*"));
それから System.out.println(strlist); 二重括弧を印刷します