2016-01-13 322 views
2

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

+6

好...你尝试过这么远吗? – Jan

+0

我做了一个Jtable和值得到插入,并显示,但不知道如何显示文本域中的第一行元素 – FannyKhan

回答

0

不知道你的具体情况,我想这听起来像是一个使用TableCellListener的应用程序,它将跟踪你的单元格的变化。您的jTable将触发由听众使用的PropertyChangeEvent。你可以看看here以及在那里提供的代码来获得这个想法。希望这有助于以任何方式。

+0

ListSelectionListener .... – mKorbel

+0

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){ // TODO在这里添加处理代码: 节点n =新节点(Integer.parseInt(push.getText())); q.push(n); model =(DefaultTableModel)jTable1.getModel(); model.addRow(new Object [] {n.getele()}); push.setText(null); } – FannyKhan

+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); } – FannyKhan

2

首先 - 你的桌子有TableModel。用此来从你的第一行(索引0)收集的数据 -

你可以通过调用

TableModel tm = table.getModel(); 

TableModel有一个方法getValueAt(int row, int column)访问。

TableModel还允许添加TableModelListenerTableModelListener依次收到TableModelEvents

使用事件数据弄清楚,如果第一行是受你的变化,然后改变的数据应用到您的文本字段:

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

请注意,模型索引和视图索引之间存在差异。我认为用户指的是视图中的第一行,而不是模型。你的例子使用所有的模型索引。 –

+0

ListSelectionListener .... – mKorbel

0

这里是我的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); 
}  
0

私人无效jButton1ActionPerformed(EVT java.awt.event.ActionEvent中){

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

    push.setText(null); 
}