Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除和移动表中的元素:java_Java_Swing - Fatal编程技术网

删除和移动表中的元素:java

删除和移动表中的元素:java,java,swing,Java,Swing,我有这个表,我想删除一些元素并移动其他元素,例如,如果我删除第二个元素,第三个元素将取代第二个元素,依此类推。您可以使用System.arraycopy()移动数组块:请参阅 如果可以,可以考虑使用JavaUTL.LIKEDLIST这样的集合类,它更适合移除和重新排序元素。如果在完成删除/移动时仍然需要数组(可能您正在使用的API需要它),则可以使用toArray()方法。取决于您感兴趣的场景(例如,我们删除位置1处的元素) 1) If元素应向左移位,最后一个元素应设置为0或null,具体取决于

我有这个表,我想删除一些元素并移动其他元素,例如,如果我删除第二个元素,第三个元素将取代第二个元素,依此类推。

您可以使用System.arraycopy()移动数组块:请参阅


如果可以,可以考虑使用JavaUTL.LIKEDLIST这样的集合类,它更适合移除和重新排序元素。如果在完成删除/移动时仍然需要数组(可能您正在使用的API需要它),则可以使用toArray()方法。

取决于您感兴趣的场景(例如,我们删除位置1处的元素)

1) If元素应向左移位,最后一个元素应设置为0或null,具体取决于数组类型,如

在[0,1,2,3,4]之前 [0,2,3,4,0]之后

你可以用

private JEditorPane textArea[]= new JEditorPane[maxTabs];
2) 当您想用不包含选定元素的新数组替换旧数组时,如

在[0,1,2,3,4]之前 [0,2,3,4]//之后,我们删除了位置1处的元素(新数组更小)

你可以试试这样的

System.arraycopy(textArea, index+1, textArea, index, textArea.length-index-1);
array[array.length-1]=null;
List listCopy=new ArrayList(
Arrays.asList(textArea));
删除(索引);
textArea=listCopy.toArray(新的JEditorPane[listCopy.size()]);
List<JEditorPane> listCopy = new ArrayList<JEditorPane>(
        Arrays.asList(textArea));
listCopy.remove(index);
textArea = listCopy.toArray(new JEditorPane[listCopy.size()]);