Java JTable获取选中行的数据
Java JTable getting the data of the selected row
是否有方法用于获取所选行的数据?我只想简单地单击带有数据的特定行,然后单击将在控制台中打印数据的按钮。
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html
你会在里面找到这些方法:
getValueAt(int row, int column)
getSelectedRow()
getSelectedColumn()
混合使用这些来获得你的结果。
如果想获取整行的数据,可以使用下面这个组合
tableModel.getDataVector().elementAt(jTable.getSelectedRow());
其中 "tableModel" 是可以像这样访问的 table 的模型
(DefaultTableModel) jTable.getModel();
这将 return 整行数据。
我希望这对某人有所帮助
您可以使用以下代码获取您的 table 所选行的第一列的值。
int column = 0;
int row = table.getSelectedRow();
String value = table.getModel().getValueAt(row, column).toString();
使用来自 ListSelectionModel
:
ListSelectionModel cellSelectionModel = table.getSelectionModel();
cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
cellSelectionModel.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
String selectedData = null;
int[] selectedRow = table.getSelectedRows();
int[] selectedColumns = table.getSelectedColumns();
for (int i = 0; i < selectedRow.length; i++) {
for (int j = 0; j < selectedColumns.length; j++) {
selectedData = (String) table.getValueAt(selectedRow[i], selectedColumns[j]);
}
}
System.out.println("Selected: " + selectedData);
}
});
就这么简单:
tbl.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
String selectedCellValue = (String) tbl.getValueAt(tbl.getSelectedRow() , tbl.getSelectedColumn());
System.out.println(selectedCellValue);
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
}
});
是否有方法用于获取所选行的数据?我只想简单地单击带有数据的特定行,然后单击将在控制台中打印数据的按钮。
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html
你会在里面找到这些方法:
getValueAt(int row, int column)
getSelectedRow()
getSelectedColumn()
混合使用这些来获得你的结果。
如果想获取整行的数据,可以使用下面这个组合
tableModel.getDataVector().elementAt(jTable.getSelectedRow());
其中 "tableModel" 是可以像这样访问的 table 的模型
(DefaultTableModel) jTable.getModel();
这将 return 整行数据。
我希望这对某人有所帮助
您可以使用以下代码获取您的 table 所选行的第一列的值。
int column = 0;
int row = table.getSelectedRow();
String value = table.getModel().getValueAt(row, column).toString();
使用来自 ListSelectionModel
:
ListSelectionModel cellSelectionModel = table.getSelectionModel();
cellSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
cellSelectionModel.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
String selectedData = null;
int[] selectedRow = table.getSelectedRows();
int[] selectedColumns = table.getSelectedColumns();
for (int i = 0; i < selectedRow.length; i++) {
for (int j = 0; j < selectedColumns.length; j++) {
selectedData = (String) table.getValueAt(selectedRow[i], selectedColumns[j]);
}
}
System.out.println("Selected: " + selectedData);
}
});
就这么简单:
tbl.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
String selectedCellValue = (String) tbl.getValueAt(tbl.getSelectedRow() , tbl.getSelectedColumn());
System.out.println(selectedCellValue);
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
}
});