2016-01-13 95 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); 
}