[英]How to get value of Last cell in JTable?
我有一個查詢...代碼運行良好,但無法獲取最后一行和最后一列的最后一個單元格的值。 下面是代碼...請指導
這段代碼可以將行動態添加到JTable中:if(e.getSource()== addb){
model.addRow(new Object[3]);
repaint();
}
下面是從JTable行中獲取值的代碼,以后將代替System.out.println()將數據發送到數據庫...
if(e.getSource()==submit)
{
int j = table.getRowCount();
for(int row=1;row<j;row++)
{
for(int column=0;column<3;column++)
{
System.out.println("row "+row+" Column is "+column);
System.out.println(model.getValueAt(row, column));
}
}
}
像這樣的東西:
int i= table1.getRowCount()-1;
int j= table1.getColumnCount();
Object [] value = new Object[j];
for(int k = 0 ; k<j ; k++)
{
value[k] = model.getValueAt(i,k);
}
也請看這個小例子
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TableTest extends JFrame implements ActionListener{
JTable table ;
JButton button;
public TableTest(){
String []colNames = {"Subject","lecturer"};
String [][] rowDatas = { {"Java Programming","Jon"},
{"C++ Programming","Nuhara"},
{"Mathematicz","Mike"},
{"Database","Saran"}
};
table = new JTable(rowDatas,colNames);
button = new JButton("Show Last Record");
button.addActionListener(this);
this.add(table);
this.add(button);
this.setVisible(true);
this.setSize(300,200);
this.setDefaultCloseOperation(3);
this.setLayout(new FlowLayout());
}
@Override
public void actionPerformed(ActionEvent e) {
int i= table.getRowCount()-1;
int j= table.getColumnCount();
Object [] value = new Object[j];
for(int k = 0 ; k<j ; k++)
{
//value[k] = table.getValueAt(i,k);
System.out.println(table.getValueAt(i, k));
}
}
public static void main(String...ag){
new TableTest();
}
}
當您單擊“提交”按鈕時,就大肆猜測您正在編輯最后一個單元格。
如果是這樣,請參閱: 表停止編輯 。
謝謝Azad,
現在它的工作精湛...
我對代碼進行了一點編輯,以從所有行中獲取數據...
int i= table.getRowCount()-1;
int j= table.getColumnCount();
for (int d=1;d<i+1;d++){ // will provide row wise data
for(int k = 0 ; k<j ; k++) // will provide column wise data
{
System.out.println("row num "+d+" "+model.getValueAt(d,k));
} }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.