我知道這個問題已經被問過了,而且有很多線程可以剪切和粘貼工作代碼,但是我的問題是關於爲什麼我下面的代碼不起作用。我試圖從JList中刪除多個項目,但是當我運行下面的代碼時,出現了一個越界異常。這裏的的這段:從JList中刪除一個項目
static DefaultListModel<File> listModel = new DefaultListModel<>();
JList<File> fileList = new JList<>(listModel);
void removeFiles() {
int[] listRange = new int[100];
listRange = fileList.getSelectedIndices();
int i = 0;
while (i <= listRange.length) {
listModel.remove(listRange[i]);
i++;
}
}
我使用調試語句確認fileList
越來越的數據(即如果我添加4個文件的長度爲4),我也證實,在listRange
指數代表我想要刪除的文件的索引。但由於某種原因,它不會刪除它們。我嘗試從fileList
以及從模型(listModel
)中刪除,但都不會起作用。我在這裏忽略了什麼嗎?謝謝。
'有很多的線程,我可以剪切和粘貼工作代碼,但我的問題是關於爲什麼我下面的代碼不起作用 - - 那麼爲什麼你不把你的代碼與工作代碼進行比較,看看有什麼不同。如果您告訴您問題是什麼,那麼您將裁剪和粘貼工作代碼的結果會相同。那就是除非你學會對你沒有學到任何東西的問題做一些基本的調試,因爲我們已經爲你解決了這個問題。 – camickr