【发布时间】:2016-01-13 09:17:10
【问题描述】:
我的问题是如何获取 jTable 的第一行值并将其显示在文本字段中,但是当第一行值更改时,文本字段中的值应该更改。
【问题讨论】:
-
嗯......到目前为止你尝试了什么?
-
我制作了一个 jtable 并插入了值并显示但不知道如何在文本字段中显示第一行元素
我的问题是如何获取 jTable 的第一行值并将其显示在文本字段中,但是当第一行值更改时,文本字段中的值应该更改。
【问题讨论】:
首先 - 你的桌子有一个TableModel。
您可以通过调用访问
TableModel tm = table.getModel();
TableModel 有一个方法 getValueAt(int row, int column) - 使用它从您的第一行(索引 0)收集数据。
TableModel 进一步允许添加TableModelListener。 TableModelListener 反过来接收 TableModelEvents。
使用事件数据确定第一行是否受到您的更改的影响,然后将更改的数据应用到您的文本字段:
public void tableModelChanged(TableModelEvent te) {
if(te.getFirstRow() == 0) { //First Row changed
//Receive Data and update TextField Here
}
}
【讨论】:
在不了解您的具体情况的情况下,我认为这听起来像是使用TableCellListener 的应用程序,它将跟踪您的单元格中的变化。您的jTable 将触发PropertyChangeEvent,供听众使用。你可以看看here 和那里提供的代码来了解这个想法。希望这对您有所帮助。
【讨论】:
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);
}
【讨论】:
这是我的 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);
}
【讨论】: