java - 使用 selectedIndex 在两个 JList 之间移动类的对象
问题描述
试图将一个类的对象从一个 JList 移动到另一个具有 SelectedIndex 的 JList。
已尝试阅读 Java 教程,但我似乎无法找到我正在寻找的内容。
目前,我尝试发送 customerList JList 并获取选择的值/索引,然后直接将其添加到所需的 JList 但只生成数组错误并告诉我索引为-1。
我试着这样做
public void moveToQ1() {
index = customerList.getSelectedIndex();
if (index != -1) {
browsing.dequeue(customerList);
q1.enqueue(browsing, customerList, queue1, index);
}
}
调用从浏览移动到 queue1 的函数
public void enqueue(QueLine queline, JList list1, JList list2, int index) {
DefaultListModel<Customer> browseModel = (DefaultListModel<Customer>) list1.getModel();
DefaultListModel<Customer> queueModel = (DefaultListModel<Customer>) list2.getModel();
int selectedIndex = index;
System.out.printf("%d\n", selectedIndex);
if(selectedIndex >= -1) {
queueModel.addElement(browseModel.getElementAt(selectedIndex));
}
}
如果我在 browseModel 中有 3 个对象并选择第二个对象并按下按钮移动。第二个对象将从browseModel 中删除,但不会添加到queueModel,而是将browseModel 中的第三个对象添加到queueModel。
此外,如果我尝试将最后添加的对象移动到 browseModel 到 queueModel,我会得到一个“ArrayIndexOutofBoundsException”
如果我能指出它的工作方向,我将不胜感激。
编辑:在第一个代码示例中切换入队和出队调用的位置,问题就消失了。
解决方案
推荐阅读
- r - 从具有不同 y 间隔的两个数据集中绘制两个时间序列
- wordpress - 在 wordpress 中加载配置(json)文件并动态更新的最佳实践?
- c# - 如何将 Winform 图表与数据源一起使用?
- javascript - 如何使用javascript在点击时设置id的位置?
- python - 如何从 FastApi 中的请求中读取非 json 数据
- navbar - 我如何固定导航器的位置
- arrays - 从c中的链表数组返回排序列表
- spring - 提供了错误类型 SpringBoot 的 id
- javascript - 井字游戏 2 名玩家
- java - Android 线程还是异步任务?