1
我有一個JList
。 我想刪除已經選定的值,每當我按ALT +鼠標點擊列表上的同一時間。怎麼做?我不知道使用哪個聽衆。刪除JList上的選定元素,同時ALT +點擊
問題是,當我選擇了值並再次單擊列表時,舊選擇丟失,選擇了新項目。
我所做的:
list.addMouseListener(new MouseListener() {
...
@Override
public void mousePressed(MouseEvent e) {
System.out.println(e);
int[] selected = list.getSelectedIndices();
if(selected.length > 0 && (e.getModifiers() & InputEvent.ALT_MASK) == InputEvent.ALT_MASK){
System.out.println("tu ");
for(int i: selected){
model.remove(i);
}
}
}
....
}
但問題是,只有一個元素被刪除。這一點我點擊
爲了儘快提供更好的幫助,請發佈[SSCCE](http://sscce.org) –
您可能會遇到索引問題。假設你已經選擇了物品1,3和5.你刪除物品1 - >物品3和5,現在變成物品2和4,但你要求刪除物品3(實際上將刪除原來的物品4),最終你請求刪除第5項(實際上將是原始項目7)。考慮首先獲取所有對象,然後通過實例而不是索引來刪除它們,或者按相反順序排序這些指針,並通過索引刪除它們。 –
還要確保在觸發器被觸發之前,您的ALT鼠標單擊不會改變選擇... – Robin