关于使用Vector作为JList的数据容器时出现数组越界时“曲线救国”的方法

前提

我们如果使用Java做界面时,经常会用到控件JList,但是大家都知道JList维护数据时,一般都会使用setListData(Vector<>);

问题出现了

当我们使用Java多线程去制作一个拥有多线程的软件时,由于频繁刷新界面的JList内容,总是会出现如下地址越界的情况:
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
网上很多解决方法,但是当问题太过复杂,但是本人都做过尝试,都没有效果。

曲线救国

大家也都知道还有一种维护数据的函数setListData(Object[]);
我们如果遇到这样的错误,在没有很好解决办法的情况下,请使用这个函数,而不是用Vector的情况。

英雄帖

因为这是一种逃避的解决办法,是不得已之举。
如果有哪位大佬,遇到这样的问题,并且又更好的解决办法,请在评论区不吝赐教~谢谢。


版权声明:本文为qq_41892013原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41892013/article/details/104868505