gpt4 book ai didi

java - Glazedlist 表第一行出现 IndexOutOfBoundsException?

转载 作者:行者123 更新时间:2023-12-02 07:21:00 24 4
gpt4 key购买 nike

我已经构建了 3 个 Glazedlist 表。当用户单击第一个表的行时,它会显示第二个表中的列表。当单击第二个表中的行时,它会显示第三个表中的其他列表。问题是当我单击第一个表中的第一行时,有时会出现以下异常。

有人知道为什么我会收到 IndexOutOfBoundsException 以及如何摆脱它吗?

Exception in thread "AWT-EventQueue-1" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:546)
at java.util.ArrayList.get(ArrayList.java:321)
at ca.odell.glazedlists.impl.gui.ThreadProxyEventList.applyChangeToCache(ThreadProxyEventList.java:175)
at ca.odell.glazedlists.impl.gui.ThreadProxyEventList.access$600(ThreadProxyEventList.java:68)
at ca.odell.glazedlists.impl.gui.ThreadProxyEventList$UpdateRunner.listChanged(ThreadProxyEventList.java:237)
at ca.odell.glazedlists.event.ListEventAssembler$ListEventFormat.fire(ListEventAssembler.java:412)
at ca.odell.glazedlists.event.ListEventAssembler$ListEventFormat.fire(ListEventAssembler.java:409)
at ca.odell.glazedlists.event.SequenceDependenciesEventPublisher$SubjectAndListener.firePendingEvent(SequenceDependenciesEventPublisher.java:445)
at ca.odell.glazedlists.event.SequenceDependenciesEventPublisher.fireEvent(SequenceDependenciesEventPublisher.java:344)
at ca.odell.glazedlists.event.ListEventAssembler.commitEvent(ListEventAssembler.java:316)
at ca.odell.glazedlists.impl.gui.ThreadProxyEventList$UpdateRunner.run(ThreadProxyEventList.java:225)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at di.pri.debutil.gui.debEventQueue.dispatchEvent(debEventQueue.java:63)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

代码:

// build the table
EventList<Treat> TreatEventList = summaryModel.getTreatEvenList();
String[] propertyNames = new String[]{"PlanId", "Number", "Type","dication","stimulation","dication2","Date","Outcome","rank","version"};
String[] columnLabels = new String[]{"pnr", "NBNR", "handeling","Supp","Stim1","Stim2","date","Outcome","Rank","Version"};
TableFormat<Treat> tableFormat = GlazedLists.tableFormat(Treat.class, propertyNames, columnLabels);
SortedList<Treat> TreatSortedList = new SortedList<Treat>(TreatEventList, null);
cabinaTable = new WebTable(new EventTableModel<Treat>(TreatSortedList, tableFormat));

// Configure the Table
TableComparatorChooser tableSorter = TableComparatorChooser.install(cabinaTable, TreatSortedList, TableComparatorChooser.SINGLE_COLUMN);
tableSorter.appendComparator(1, 0, true);
cabinaTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
cabinaTable.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
cabinaTable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
int row = cabinaTable.rowAtPoint(e.getPoint());
DHDPnr = cabinaTable.getValueAt(row, 0).toString();
//at this point i set the evntlist for second Glazedlist table
summaryModel.retrieveAllPredomainWithDHDPnr(dosNr(), DHDPnr);
}
});

最佳答案

when the user clicked on the row of the first table it shows list in the second table. when click on row in second table it displaies other list in the 3th table

这给了我一个提示,您可能使用基于 1 的索引而不是基于 0 的索引,当尝试访问索引为 0 的空 ArrayList 时,也会导致 IndexOutOfBoundsException

关于java - Glazedlist 表第一行出现 IndexOutOfBoundsException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14253486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com