如何使用索引来获取JT?我查看了成员函数,但没有像getRowAt那样的东西。有人可以帮忙吗?
答案 0 :(得分:4)
表没有“行”对象,因此使用getRow方法无法获得任何结果。
您可以要求getValueAt()
获取各个值,将其用于每个列,然后就可以获得完整的行。
答案 1 :(得分:4)
AFAIK,没有这样的方法。写下这样的东西:
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 - 如果您想尊重按用户列顺序重新排列,请使用table.getValueAt()
。
答案 2 :(得分:1)
我建议根据POJO列表创建一个TableModel。
然后很容易添加如下方法:
MyPojo getData(int index);
答案 3 :(得分:1)
尝试这样的事情
private void getIndexRow(){
int i;
int row = 0;
int column = 0;
i=Integer.parseInt(myTable.getValueAt(row,column).toString());
}
答案 4 :(得分:0)
另一种方法是使用表格模型的getDataVector()
方法。
DefaultTableModel tm = (DefaultTableModel) table.getModel();
Vector<Object> rowData = tm.getDataVector().elementAt(rowIndex);
答案 5 :(得分:0)
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));
}
}
});
}
使用此功能,您可以获得整行的值,点击特定行。
答案 6 :(得分:0)
此功能对我来说效果很好。
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;
}