问题标签 [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.

0 投票
2 回答
3183 浏览

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();

感谢您的帮助

0 投票
3 回答
34077 浏览

java - 创建 TableModel 并动态填充 jTable

我想将读取lucene索引的结果存储到jTable中,这样我就可以让它按不同的列排序。从索引中,我正在阅读具有不同频率度量的术语。

表列是这些:[string term][int absFrequency][int docFrequency][double invFrequency]

所以我在 AbstractTableModel 中可以定义列名,但我不知道如何通过以下方法获取 Object[][]data 的结果:

所以我有点卡在这里继续实现 AbstractTableModel 并填充和显示这个表....:/

请帮忙!

0 投票
2 回答
4050 浏览

java - Java Swing - 使用 AbstractTableModel() 从表中删除行

我在 AbstractTableModel 上有一张桌子。表中的数据存储在 Vector 中。现在,当我删除一行时,我成功地从向量中删除了它,但这并没有在视图中更新,即在 GUI 中。

我在其他地方读到我需要使用 fireTableRowsDeleted(),我试图在我的 AbstractTableModel 的包装器方法中调用它:

但是,我无法访问此 removeAl。我不能在任何地方这样称呼它:dataModel.removeAl()

你能帮我理解发生了什么问题吗?如何在删除行时更新 GUI?

编辑:事实证明,问题出在其他地方。一旦我解决了这个问题,从 Vector 本身中删除该行就开始更新 GUI。:)

0 投票
1 回答
310 浏览

swing - 如何为扩展 AbstractTableModel 的自定义模型类编写 addElement 方法?

对于硬件分配,我需要在 Swing 中设置一个 JTable,并通过扩展 AbstractTableModel 的自定义模型类填充表的内容。我对这个过于复杂的过程的问题很多,但我会尽量保持简单。

我的第一步是将数据输入模型,对吗?当我使用 JList(我可以使用 DefaultListModel)时,它就像list.addElement(). 然而,我发现将数据添加到我的 JTable 模型并不容易。AbstractTableModel 的默认方法包括获取行/列号,仅此而已。为了将数据导入我的模型,我是否需要编写自己的 addElement 模型?关于这样做的任何指示?

在我将数据输入我的模型之后,这只是一个问题table.setModel(myModel);吗?我需要做什么来处理列和行的索引?

任何关于此事的帮助或见解都会继续进行,我正接近将我的电脑扔出窗外的地步......

0 投票
4 回答
9182 浏览

java - 从 AbstractTableModel 获取列名

我无法弄清楚使用构造函数的东西JTable(TableModel dm)

我正在使用 LinkedList 来管理我的数据,因此为了显示它,我扩展了AbstractTableModel

我做错了什么,因为当我运行我的 GUI 时,我得到标记为A ,*B*, C的列名。

0 投票
1 回答
344 浏览

java - 如何在 AbstractTableModel 中表示复杂类?

我有这堂课:

我写了这个表模型:

如您所见LinkedList<Filter>,我也想将其显示为简单的字符串。我怎样才能做到这一点?

0 投票
3 回答
14530 浏览

java - Java 摇摆 | 扩展 AbstractTableModel 并将其与 JTable | 一起使用 几个问题

我遵循 Oracle 的模型来实现 AbstractTableModel

http://download.oracle.com/javase/tutorial/uiswing/examples/components/TableDemoProject/src/components/TableDemo.java

我这样做是因为我的表必须包含 3 列,并且第一列必须是 JCheckBox。

这是我的代码:

}

以下是我的问题:

  1. JTable ( ) 如何new JTable(FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel)知道列名和它们的值是什么?因为我的 AbstractTableModel 中没有构造函数?!是否因为 columnNames 和 data 必须像它们一样命名并且 JTable 访问它们?
  2. 如何在我的 JTable 中添加新值?由于 columnNames 和 data 是数组。我可以用向量替换它们吗?如果是这样,我该如何初始化这些向量?在 myAbsTableModel 的构造函数中?

我认为很容易找到解决方案,但是这个表格处理对我来说并不是微不足道的,所以非常感谢你!

0 投票
3 回答
4453 浏览

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)

0 投票
2 回答
407 浏览

java - 扩展 AbstractTableModel 时使单元格在 JTable 中可见

我已经扩展了 AbstractTableModel 以满足我的要求。现在可以通过我的 GUI 的其他方法更改此表。我希望表格滚动到当前编辑的单元格进入视图。为此,我想我必须首先获取当前 JComponent 的 JViewport,但我没有看到可以实现此目的的方法?我如何实现这一目标?

当我使用默认的 JTable 时,我已经这样做了,但是当我们扩展 AbstractTableModel 时,我该怎么做呢?

0 投票
3 回答
12546 浏览

java - 如何使用自定义 TableModel 删除 JTable 中的一行

我一直在阅读与我类似的帖子,并阅读了Java 教程页面,但我似乎无法让它工作。我不确定我是否遗漏了一些基本的东西......

我在下面有一个自定义表格模型,我需要能够从中删除行。该表初始化为空,并通过组合框和添加按钮添加行。还有一个删除按钮,需要将选定的行从表中删除。

我已经通过控制台中的打印确认selectedRow包含正确的行。该fireTableRowsDeleted功能不做任何事情。该行仍然存在。你如何只删除特定的行?

谢谢,