如何使用索引獲取行來自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. jQuery通過索引獲取數組值
- 3. 通過索引獲取文件名
- 4. 獲取行索引
- 5. Numpy - 通過測試相鄰索引獲取索引位置
- 6. 如何通過索引獲取SQLite中的行(不是通過id)
- 7. 通過索引讀取NSDictionary
- 8. Openpyxl如何通過索引從工作表中獲取行
- 9. 獲取Excel行索引
- 10. 如何獲取行索引?
- 11. jTable索引不對
- 12. 通過索引
- 13. 通過索引
- 14. 通過索引
- 15. 通過索引
- 16. 獲取焦點行的NSTableView行索引?
- 17. 從JTable獲取每行值
- 18. 如何通過在外部提供列索引來對JTable進行排序
- 19. 通過索引獲取字符串的特定部分?
- 20. 如何通過模板中的索引獲取字段?
- 21. 如何通過索引從C#中的OrderedDictionary獲取密鑰?
- 22. 如何通過索引獲取ng-repeat中的元素?
- 23. 通過索引獲取表導致vba宏中的錯誤
- 24. wxPython TreeCtrl:通過索引獲取treeitem的數據
- 25. 如何通過xpath獲取元素的索引?
- 26. 如何通過使用Bootstrap Datatables的索引獲取列名?
- 27. 如何通過c#中的索引獲取堆棧項?
- 28. 通過QML中C++模型的索引獲取數據
- 29. slickgrid通過它的ID獲得行的索引
- 30. 一種通過索引過濾範圍的方法,只從過濾後的索引獲取min_element?
我完全同意。 – MeBigFatGuy 2011-03-30 12:58:34
在我看來,你應該避免使用DefaultTableModel,因爲它幾乎總是與你放在模型中的預先存在的數據的結構無關。 Sun將它添加到sdk中是錯誤的,imo。 – MeBigFatGuy 2011-03-30 13:07:14