如何使用索引获取行来自JTable?我看着成员函数,但没有什么像getRowAt。任何人都可以帮忙吗?通过JTable的索引获取行
回答
表中没有“row”对象,因此没有getRow方法可以得到的东西。
您可以询问getValueAt()
以获取单个值,将其用于每列,并且您有完整的行。
AFAIK,没有这样的方法。如果你要尊重用户的列顺序重新排列使用table.getValueAt()
-
public String[] getRowAt(int row) {
String[] result = new String[colNumber];
for (int i = 0; i < colNumber; i++) {
result[i] = table.getModel().getValueAt(row, col);
}
return result;
}
P.S:写类似的东西。
我建议根据POJO列表创建一个TableModel。
它是那么容易添加的方法,如:
MyPojo getData(int index);
尝试是这样的
private void getIndexRow(){
int i;
int row = 0;
int column = 0;
i=Integer.parseInt(myTable.getValueAt(row,column).toString());
}
另一种方法是使用表模型的getDataVector()
方法。
DefaultTableModel tm = (DefaultTableModel) table.getModel();
Vector<Object> rowData = tm.getDataVector().elementAt(rowIndex);
可能,但没有你应该想做的事:如果模型不是DefaultTableModel类型(你需要在你的代码片段中进行强制转换),反正无效。传递一部分原始的,未知的基础数据结构会要求麻烦,因为代码可能会意外地改变其内容,从而违反了模型通知其听众更改的合同 – kleopatra 2013-04-21 08:10:01
好点。这可能是有人想要做的。我给答案添加了一个表演。 – 2013-05-11 19:59:17
private void jTable1MousePressed(java.awt.event.MouseEvent evt) {
int selectedRow;
ListSelectionModel rowSM = jTable1.getSelectionModel();
rowSM.addListSelectionListener(new ListSelectionListener()
{
@Override
public void valueChanged(ListSelectionEvent e)
{
ListSelectionModel lsm = (ListSelectionModel) e.getSource();
selectedRow = lsm.getMinSelectionIndex();
int numCols = jTable1.getColumnCount();
model = (DefaultTableModel) jTable1.getModel();
System.out.print(" \n row " + selectedRow + ":");
for (int j = 0; j < numCols; j++)
{
System.out.print(" " + model.getValueAt(selectedRow, j));
}
}
});
}
使用这个你可以得到整行的值,其中u点击特定行。
这个功能对我来说很好。
private Object[] getRowAt(int row, DefaultTableModel model) {
Object[] result = new Object[model.getColumnCount()];
for (int i = 0; i < model.getColumnCount(); i++) {
result[i] = model.getValueAt(row, i);
}
return result;
}
- 1. 如何从MouseEvent中可靠地获取JTable中的行索引?
- 2. 获取阵列别名通过索引
- 3. 通过索引获取文件名
- 4. 通过索引获取字符串 - Java
- 5. jQuery通过索引获取数组值
- 6. 获取行索引
- 7. 如何通过jQuery获取动态表中的行索引
- 8. 通过单击垂直标题获取QTableWidget的行索引?
- 9. Numpy - 通过测试相邻索引获取索引位置
- 10. 如何通过索引获取SQLite中的行(不是通过id)
- 11. 通过索引读取NSDictionary
- 12. 获取GridView的行索引
- 13. 获取行的索引表
- 14. Openpyxl如何通过索引从工作表中获取行
- 15. Google Apps脚本:如何通过索引获取行?
- 16. java swing jtable - 每行显示行索引
- 17. 获取Excel行索引
- 18. 如何获取行索引?
- 19. 获取行索引jQuery中
- 20. 通过索引
- 21. 通过索引
- 22. 通过索引
- 23. 通过索引
- 24. 通过索引
- 25. 通过索引
- 26. 通过索引
- 27. 通过索引
- 28. 通过索引
- 29. 通过索引
- 30. jTable索引不对
我完全同意。 – MeBigFatGuy 2011-03-30 12:58:34
在我看来,你应该避免使用DefaultTableModel,因为它几乎总是与你放在模型中的预先存在的数据的结构无关。 Sun将它添加到sdk中是错误的,imo。 – MeBigFatGuy 2011-03-30 13:07:14