2011-06-02 35 views
0

问题是,当文件运行JList已经做出自己的选择,所以当用户做出选择时,列表不再处于正确的位置。最终,我想使这是一个递归方法,并让用户选择一个单词,并将其从列表中删除,直到没有剩下的单词...有谁知道如何设置什么自动选择将为空?如何摆脱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() { } 
} 
+0

你能格式化你的代码吗?这有点难以阅读。 – Kyle 2011-06-02 20:30:24

+0

更好吗? – Jayden 2011-06-02 20:46:51

回答

0

有谁知道如何设置任何autoselection是怎么回事为空?

setSelectedIndex(-1);