有沒有辦法讀取JScrollPane的內容?閱讀JScrollPane的內容
我執行的是一個DefaultTableModel
其中有three columns
,它們是使用addColumn()
方法添加的。我使用這個DefaultTableModel
作爲聲明和實現JTable
的參數。此JTable
稍後將用作JScrollPane
的聲明和實現的參數。在整個代碼執行過程中,我使用addRow()
方法將n33添加到DefaultTableModel
。我的目標是讀取已添加行的內容。
有沒有人有任何建議?所有將不勝感激!
JTabbedPane tabbedPane = new JTabbedPane();
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Column1");
model.addColumn("Column2");
model.addColumn("Column3");
JTable testResults = new JTable(model) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
JScrollPane resultTab = new JScrollPane(testResults);
resultTab.setName("Tab1");
resultTab.setVisible(true);
Thread thread1 = new Thread() {
public void run() {
if(tabbedPane.getSelectedComponent().getName().compareTo("Tab1") == 0) {
model.addRow(new Object[]{"content1", "content2", "content3"});
model.addRow(new Object[]{"content4", "content5", "content6"});
...
...
...
model.addRow(new Object[]{"this", "will", "continue"});
}
else {
model.addRow(new Object[]{"content1", "content2", "content3"});
model.addRow(new Object[]{"content4", "content5", "content6"});
}
};
thread1.start();
欲讀取的數據「內容1」,「內容2」,「content3」,「content4」,「content5」,「content6」等。該橢圓表示有行的未定義數量的被添加到整個源代碼中。
您應該簡單地遍歷[TableModel](http://docs.oracle.com/javase/6/docs/api/javax/swing/table/TableModel.html)。使用以下三個方法:1)第一個循環限制的getRowCount()2)嵌套循環限制的getColumnCount()3)getValuetAt(firstloopincrement,nestedloopincrement) – 2012-07-20 15:14:34
[讀取JScrollPane的內容](http:// stackoverflow.com/questions/11581548/read-contents-of-a-jscrollpane) – 2012-07-20 15:15:44
我已經給出了一個更早的嘗試。當getRowCount()方法返回0時,getColumnCount()方法正確返回3;我的理論是,它是0,因爲它是在for循環下的一個單獨的線程中動態添加行。 – David 2012-07-20 15:17:18