2011-02-17 25 views
1

我想進行列表選擇,使得當我第一次選擇一個項目後,當我選擇第二個項目時,那麼它們都應該被選中,即第一個選擇應該保持原樣。我已將列表選擇模式設置爲多選。但還是要按ctrl鍵才行。 我想不按ctrl鍵。在Swing中替代列表選擇

如何保持列表項選擇?

這裏是我設置的選擇模式行:

list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 

編輯: AS通過建議StanislavL我嘗試以下,但它並沒有爲我工作。

  DefaultListSelectionModel model = new DefaultListSelectionModel(); 
      model.removeSelectionInterval(0, 2); 
      user_list.setSelectionModel(model); 

回答

4

這是一個真正的衆所周知的慣例,多選擇需要按下Ctrl鍵關鍵。同樣使用Shift鍵可以選擇一系列值。

就我個人而言,我絕不會花費精力改變這種行爲,因爲它會混淆已經熟悉其他應用程序的用戶。

+0

+1我在公司裏一直遇到這個問題。他們希望完善的習慣改變,因爲「這是他們想要的東西」......它真的是他們想要的嗎?可能不是......從長遠來看! – corsiKa 2011-02-17 07:24:34

1

嘗試替換列表中的ListSelectionModel。使用

public void setSelectionModel(ListSelectionModel selectionModel) 

您可以使用DefaultListSelectionModel上並覆蓋

public void removeSelectionInterval(int index0, int index1) 

調用super.remove()如果已經選擇的項目。

+0

我嘗試過但沒有改變。我在我的問題中添加了我的代碼 – 2011-02-17 08:39:37