2011-03-30 111 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! 
     } 
    } 
}); 

干杯,

相关问题