【问题标题】:How to get first row value from JTable如何从 JTable 中获取第一行值
【发布时间】:2016-01-13 09:17:10
【问题描述】:

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

【问题讨论】:

  • 嗯......到目前为止你尝试了什么?
  • 我制作了一个 jtable 并插入了值并显示但不知道如何在文本字段中显示第一行元素

标签: java swing


【解决方案1】:

首先 - 你的桌子有一个TableModel

您可以通过调用访问

 TableModel tm = table.getModel();

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

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

使用事件数据确定第一行是否受到您的更改的影响,然后将更改的数据应用到您的文本字段:

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

【讨论】:

  • 注意模型索引和视图索引是有区别的。我认为用户指的是视图中的第一行,而不是模型。您的示例使用所有模型索引。
【解决方案2】:

在不了解您的具体情况的情况下,我认为这听起来像是使用TableCellListener 的应用程序,它将跟踪您的单元格中的变化。您的jTable 将触发PropertyChangeEvent,供听众使用。你可以看看here 和那里提供的代码来了解这个想法。希望这对您有所帮助。

【讨论】:

  • private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO 在此处添加您的处理代码: node n=new node(Integer.parseInt(push.getText())); q.push(n);模型=(默认表模型)jTable1.getModel(); model.addRow(新对象[]{n.getele()}); push.setText(null); }
  • private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { node n=new node(Integer.parseInt(push.getText())); q.push(n);模型=(默认表模型)jTable1.getModel(); model.addRow(新对象[]{n.getele()}); push.setText(null); }
【解决方案3】:

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);
}       

【讨论】:

    【解决方案4】:

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

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
             node n=new node(Integer.parseInt(push.getText()));
            q.push(n);
            model=(DefaultTableModel) jTable1.getModel();
            model.addRow(new Object[]{n.getele()});
    
            push.setText(null);
    }       
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-19
      • 2019-03-09
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 2011-08-13
      • 2014-04-01
      相关资源
      最近更新 更多