问题标签 [abstracttablemodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JTable 删除所有行异常
我正在尝试从我的 abstractTableModel 中删除所有条目。只要我不删除剩下的最后一行,一切正常,但只要我删除这一行,我就会得到一个 ArrayOutOfBoundsException。我正在使用 DefaultRowSorter,这似乎是例外。
线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException 中的异常:数组索引超出范围:在 graphics.tableModel.MyTableModel.getValueAt(MyTableModel.java) 的 java.util.Vector.get(Vector.java:694) 中的 0 :78) 在 graphics.tableModel.MyTableModel.getColumnClass(MyTableModel.java:90) 在 javax.swing.table.TableRowSorter.useToString(TableRowSorter.java:224) 在 javax.swing.DefaultRowSorter.updateUseToString(DefaultRowSorter.java:607)在 javax.swing.DefaultRowSorter.sort(DefaultRowSorter.java:556) 在 javax.swing.DefaultRowSorter.shouldOptimizeChange(DefaultRowSorter.java:1008) 在 javax.swing.DefaultRowSorter.rowsDeleted(DefaultRowSorter.java:866) 在 javax.swing。 JTable.notifySorter(JTable.java:4262) 在 javax.swing.JTable.sortedTableChanged(JTable.java:4106) 在 javax.swing.JTable.tableChanged(JTable.java:第4383章)
我删除所有行的代码:
简单地删除最后一个现有行也会发生同样的事情。
我调用deleteRow的方式:
tm.deleteRow(行[i]); }
tm.fireTableDataChanged();
感谢您的帮助
java - 创建 TableModel 并动态填充 jTable
我想将读取lucene索引的结果存储到jTable中,这样我就可以让它按不同的列排序。从索引中,我正在阅读具有不同频率度量的术语。
表列是这些:[string term][int absFrequency][int docFrequency][double invFrequency]
所以我在 AbstractTableModel 中可以定义列名,但我不知道如何通过以下方法获取 Object[][]data 的结果:
所以我有点卡在这里继续实现 AbstractTableModel 并填充和显示这个表....:/
请帮忙!
java - Java Swing - 使用 AbstractTableModel() 从表中删除行
我在 AbstractTableModel 上有一张桌子。表中的数据存储在 Vector 中。现在,当我删除一行时,我成功地从向量中删除了它,但这并没有在视图中更新,即在 GUI 中。
我在其他地方读到我需要使用 fireTableRowsDeleted(),我试图在我的 AbstractTableModel 的包装器方法中调用它:
但是,我无法访问此 removeAl。我不能在任何地方这样称呼它:dataModel.removeAl()
你能帮我理解发生了什么问题吗?如何在删除行时更新 GUI?
编辑:事实证明,问题出在其他地方。一旦我解决了这个问题,从 Vector 本身中删除该行就开始更新 GUI。:)
swing - 如何为扩展 AbstractTableModel 的自定义模型类编写 addElement 方法?
对于硬件分配,我需要在 Swing 中设置一个 JTable,并通过扩展 AbstractTableModel 的自定义模型类填充表的内容。我对这个过于复杂的过程的问题很多,但我会尽量保持简单。
我的第一步是将数据输入模型,对吗?当我使用 JList(我可以使用 DefaultListModel)时,它就像list.addElement()
. 然而,我发现将数据添加到我的 JTable 模型并不容易。AbstractTableModel 的默认方法包括获取行/列号,仅此而已。为了将数据导入我的模型,我是否需要编写自己的 addElement 模型?关于这样做的任何指示?
在我将数据输入我的模型之后,这只是一个问题table.setModel(myModel);
吗?我需要做什么来处理列和行的索引?
任何关于此事的帮助或见解都会继续进行,我正接近将我的电脑扔出窗外的地步......
java - 从 AbstractTableModel 获取列名
我无法弄清楚使用构造函数的东西JTable(TableModel dm)
。
我正在使用 LinkedList 来管理我的数据,因此为了显示它,我扩展了AbstractTableModel
:
我做错了什么,因为当我运行我的 GUI 时,我得到标记为A ,*B*, C的列名。
java - 如何在 AbstractTableModel 中表示复杂类?
我有这堂课:
我写了这个表模型:
如您所见LinkedList<Filter>
,我也想将其显示为简单的字符串。我怎样才能做到这一点?
java - Java 摇摆 | 扩展 AbstractTableModel 并将其与 JTable | 一起使用 几个问题
我遵循 Oracle 的模型来实现 AbstractTableModel
我这样做是因为我的表必须包含 3 列,并且第一列必须是 JCheckBox。
这是我的代码:
}
以下是我的问题:
- JTable ( ) 如何
new JTable(FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel)
知道列名和它们的值是什么?因为我的 AbstractTableModel 中没有构造函数?!是否因为 columnNames 和 data 必须像它们一样命名并且 JTable 访问它们? - 如何在我的 JTable 中添加新值?由于 columnNames 和 data 是数组。我可以用向量替换它们吗?如果是这样,我该如何初始化这些向量?在 myAbsTableModel 的构造函数中?
我认为很容易找到解决方案,但是这个表格处理对我来说并不是微不足道的,所以非常感谢你!
java - 动态改变 JTable 中的列数
我有一个JTable
和一个TableModel
扩展AbstractTableModel
。我想动态设置表中的列数。我通过在我的TableModel
命名中添加一个属性来实现这一点column_count
,并getColumnCount
返回column_count
. 我还添加了一个方法,setColumnCount
设置column_count
和调用fireTableStructureChanged
。不幸的是,当我运行程序时,我不断收到ArrayIndexOutOfBounds
异常。谁能告诉我我做错了什么,或提出更好的解决方案?
这是一个堆栈跟踪:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 4 >= 4
at java.util.Vector.elementAt(Unknown Source)
at javax.swing.table.DefaultTableColumnModel.getColumn(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintGrid(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
java - 扩展 AbstractTableModel 时使单元格在 JTable 中可见
我已经扩展了 AbstractTableModel 以满足我的要求。现在可以通过我的 GUI 的其他方法更改此表。我希望表格滚动到当前编辑的单元格进入视图。为此,我想我必须首先获取当前 JComponent 的 JViewport,但我没有看到可以实现此目的的方法?我如何实现这一目标?
当我使用默认的 JTable 时,我已经这样做了,但是当我们扩展 AbstractTableModel 时,我该怎么做呢?
java - 如何使用自定义 TableModel 删除 JTable 中的一行
我一直在阅读与我类似的帖子,并阅读了Java 教程页面,但我似乎无法让它工作。我不确定我是否遗漏了一些基本的东西......
我在下面有一个自定义表格模型,我需要能够从中删除行。该表初始化为空,并通过组合框和添加按钮添加行。还有一个删除按钮,需要将选定的行从表中删除。
我已经通过控制台中的打印确认selectedRow
包含正确的行。该fireTableRowsDeleted
功能不做任何事情。该行仍然存在。你如何只删除特定的行?
谢谢,