Проблема в том, что когда файл запускается, JList уже делает свой собственный выбор, и поэтому, когда пользователь делает выбор, список больше не находится в правильном положении. В конечном счете, я хочу сделать это рекурсивным методом, чтобы пользователь выбрал слово, и оно будет удалено из списка до тех пор, пока не останется слов ... Кто-нибудь знает, как установить тот или иной автоматический выбор на ноль?
import java.util.ArrayList;
import java.io.*;
public class Arg{
public static void main(String[] args)
{
callArray();
}
public static void callArray() {
final JFrame frame = new JFrame();
JPanel panel = new JPanel();
final ArrayList alist = new ArrayList();
alist.add("one");
alist.add("two");
alist.add("three");
alist.add("four");
alist.add("five");
alist.add("six");
alist.add("seven");
alist.add("eight");
final JList blist = new JList(alist.toArray());
blist.clearSelection();
JScrollPane scroll = new JScrollPane(blist);
panel.add(blist);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100, 100);
frame.setVisible(true);
final PVariable varPass = new PVariable();
System.out.println(alist);
blist.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
varPass.selected = blist.getSelectedIndex();
System.out.println("The value selected is " + alist.get(varPass.selected) + " " + varPass.selected);
frame.setVisible(false);
}
});
alist.remove(varPass.selected);
System.out.println(alist);
}
}
class PVariable {
static int selected;
public PVariable() { }
}