2013-10-19 11 views
0

我想實現MS EXCEL的求和功能,但沒有辦法從JTable單元中獲取值。你能建議我以某種方式從單元中獲取值並將其用於我的函數嗎?使用JTable實現少量的Excel功能

+1

'JTable'並不真正適合作爲一個擴展片組件。普遍的共識是,需要做更多的工作才能將其變成一個,而不是編寫一個定製的'SpreadSheetComponent'類。 –

+0

我需要獲取用戶在GUI上輸入的數據.....所以你能建議我該怎麼做。 –

+0

你試過了什麼?請注意,這個網站不是編碼機,它不會爲你工作。從閱讀一個體面的教程開始學習的基本知識... – kleopatra

回答

1

例如,你怎麼能得到的價值 -

String data[][] = {{"Value1", "Value2", "Value3"},{"Value4", "Value5", "Value6"}, 
    {"Value7", "Value8", "Value9"},{"Value10", "Value11", "Value12"}}; 

    String col[] = {"Column1", "Column2", "Column3"}; 

    DefaultTableModel model = new DefaultTableModel(data, col); 
    JTable table = new JTable(model); 
    ... 
    System.out.println(table.getModel().getValueAt(2, 2)); // row index and column index 
    ... 

它讓 -

Value9 

若要從表中獲取的值,可以實現接口MouseListener在匿名內部類,例如 -

table.addMouseListener(new MouseAdapter() { 
    public void mouseClicked(MouseEvent e) { 
     JTable target = (JTable) e.getSource(); 

     int rowIndex = target.getSelectedRow(); 
     int columnIndex = target.getSelectedColumn(); 

     System.out.println(target.getModel().getValueAt(rowIndex, columnIndex)); 
    } 
}); 

另見:

+2

(複製上面的評論)*「你能建議我嗎?」*我爲什麼?這個答案有什麼問題? –

+1

: - )是的,你是對的。更新了我的答案。 –

+0

你是正確的如何獲取數據,但我需要在運行時做到這一點,所以我不會知道行和列的索引....所以我問我是否需要使用任何監聽器,如果是這樣告訴我哪 –