2011-03-30 109 views
2

我想在我連接到數據庫的jtable上使用更新方法,並希望填寫表單上的文本字段,具體取決於用戶點擊哪一行。我知道我將需要一個getValueAt()方法,但是我不確定如何填寫哪一行,具體取決於用戶點擊哪一行。我無法在Google上找到任何內容或任何信息,因此任何信息都將有所幫助!如何獲取jtable的單元格值取決於哪個行被點擊

+0

嗯......究竟是什麼意思與 「更新」?更新表單中的textFields?如果是這樣,只更新用戶行選擇或更新底層數據庫中的更改? – kleopatra 2011-03-30 15:26:56

+0

我正計劃用適當的表格數據填充文本字段,然後更改文本字段中的信息,然後點擊按鈕更新它。 – Criel 2011-03-31 18:48:39

回答

4

您將需要調用getValueAt()您的表模型來獲取您需要的值。您還需要桌上的監聽器來監聽選擇。因此,一旦用戶選擇了一行,您可以調用getValueAt()來獲取該行中特定數據列的值。

10
private final UrTableModel urTableModel; 
private JTable urTable; 
... 

// 1. Create your table model class that should extends from DefaultTableModel, instantiate it 
urTableModel=new UrTableModel(); 

// 2. creates table 
table = TableUtils.createStandardSortableTable(urTableModel); 

// 3. customize your table 
table.setBackground(Color.WHITE); 
table.getTableHeader().setReorderingAllowed(false); 

// 4. Add the mouse listner to it 
table.addMouseListener(new MouseAdapter() { 
    @Override 
    public void mouseClicked(final MouseEvent e) { 
     if (e.getClickCount() == 1) { 
      final JTable target = (JTable)e.getSource(); 
      final int row = target.getSelectedRow(); 
      final int column = target.getSelectedColumn(); 
      // Cast to ur Object type 
      final UrObjctInCell urObjctInCell = (UrObjctInCell)target.getValueAt(row, column); 
      // TODO WHAT U WANT! 
     } 
    } 
}); 

乾杯,

相關問題