有没有办法读取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