如何从JTable获取第一行值

时间:2016-01-13 09:17:10

标签: java swing

我的问题是如何获取jTable的第一行值并将其显示在文本字段中,但是当第一行值发生更改时,文本字段中的值应该更改。

4 个答案:

答案 0 :(得分:2)

首先关闭 - 您的表格有TableModel

您可以通过致电

进行访问
 TableModel tm = table.getModel();

TableModel有一个方法getValueAt(int row, int column) - 用它来收集第一行(索引0)的数据。

TableModel进一步允许添加TableModelListenerTableModelListener反过来会收到TableModelEvents

使用事件数据确定第一行是否受更改影响,然后将更改的数据应用于textField:

 public void tableModelChanged(TableModelEvent te) {
    if(te.getFirstRow() == 0) { //First Row changed
       //Receive Data and update TextField Here
    }
 }

答案 1 :(得分:0)

在不知道具体情况的情况下,我认为这听起来像是使用TableCellListener的应用程序,它将跟踪您单元格中的更改。您的jTable会触发听众使用的PropertyChangeEvent。您可以查看here以及那里提供的代码以获取想法。希望这有助于任何方式。

答案 2 :(得分:0)

以下是我的jtable的代码,如何获取文本字段第一行的值?

 GridViewHierarchyRowInfo hierarchyRow = this.Grid_PhoneBook.CurrentRow as GridViewHierarchyRowInfo;

 foreach (GridViewRowInfo row in hierarchyRow.ChildRows)
 {
    if(row.IsCurrent)
    {
        string firstColumnValue = row.Cells[0].Value; 
        break;
    }
 }

答案 3 :(得分:0)

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){

     node n=new node(Integer.parseInt(push.getText()));
    q.push(n);
    model=(DefaultTableModel) jTable1.getModel();
    model.addRow(new Object[]{n.getele()});

    push.setText(null);
}