永发信息网

java 关于String数组的问题

答案:3  悬赏:30  手机版
解决时间 2021-02-15 07:23
  • 提问者网友:寂寞撕碎了回忆
  • 2021-02-14 11:01
java 关于String数组的问题
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-02-14 11:35
你要用数组实现这个功能的话,只能自己把后面的数据往前移,但是你可以使用List,使用remove方法,这个能实现你说的效果追问Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.remove(ArrayList.java:445)
at jspin.Editor.actionPerformed(Editor.java:139)
好像有ArrayList越界的错误,应该怎么改?不是说动态创建的吗?追答你带么怎么写的,拿出来看看追问if(index==0) index记录打开的选项卡个数 return;
int closeTabNumber = tabbedPane.indexOfComponent(area)
tabbedPane.removeTabAt(closeTabNumber); 关闭选项卡
tab_label.remove(closeTabNumber); 清除原来添加选项卡时,在选项卡上添加的Label
tab_button.remove(closeTabNumber);
tab_button.remove(closeTabNumber);
index--;追答tab_button.remove(closeTabNumber);
tab_button.remove(closeTabNumber);
这个为什么会有两个?
你的closeTabNumber如果是3,第一次remove之后,list长度减1了,下次在remove第3个,肯定会越界的啊追问int closeTabNumber = tabbedPane.indexOfComponent(area)获取当前选项卡索引
tabbedPane.removeTabAt(closeTabNumber); 关闭当前选项卡
如上,如想关闭一个选项卡,则必须先使其为当前选项卡
如图,如果当前选项卡为Tab0,如果我想关闭Tab2,应该如何获取其索引那?
全部回答
  • 1楼网友:思契十里
  • 2021-02-14 13:14
按照你的要求就不应该用数组了,可以考虑用集合和栈
  • 2楼网友:底特律间谍
  • 2021-02-14 12:59
数组大小是固定的,不行的。你可以使用ArrayList等来操作哈追问Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.remove(ArrayList.java:445)
at jspin.Editor.actionPerformed(Editor.java:139)
好像有ArrayList越界的错误,应该怎么改?不是说动态创建的吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯