2013-01-16 45 views
1

我有一個包含3列數據的文件,我想將它們傳遞給JTable。任何人都可以建議我該怎麼做?從文件到JTable

回答

2

java中的數據不是存儲在表中,而是存儲在表的模型中 - 例如, DefaultTableModel可以輕鬆操作。 JTable自動「查看」模型中的數據更改。

DefaultListModel myModel = new DefaultListModel(); 
myModel.setColumnIdentifiers([column names]); 

在這種情況下,如果你的列以某種獨特的方式delimitted,讀取數據最簡單的方法是用java Scanner

Scanner s = new Scanner(new FileInputStream(new File(filePath))); 
s.useDelimiter(delim); 
while (s.next()) { 
    System.out.println(s.nextInt()); 
    // or put data directly into the table: 
    myModel.addRow([data from s]); 
} 

這裏delim是符號將您的文件轉換成列。 您也將最終需要創建的模型分配給現有的JTable:

myTable.setModel(myModel); 
0

在Swing中,你需要以管理多個UI組件如JTree的,JTable的JList的和處理模型對象。

您可以使用開箱即用的默認實現,或者擴展它或實現Model接口。

對於JTable,默認的Model類稱爲DefaultTableModel,接口稱爲TableModel。

現在回到您的問題中,您必須閱讀文件,然後獲取模型實例,以便您可以將數據傳遞給它以便將其顯示在表格中。不要忘記將新的表格模型與表格關聯起來。

這裏有一個guide來幫助你更多。