我正在尝试在连接到数据库的jtable上使用更新方法,并希望根据用户单击的行填写表单上的文本字段。我知道我将需要一个getValueAt()方法但是我不确定如何根据用户点击的哪一行填写哪一行。我无法在Google或其他任何地方找到任何信息,因此任何信息都会有所帮助!
答案 0 :(得分: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!
}
}
});
干杯,
答案 1 :(得分:4)
您需要调用getValueAt()表的模型来获取所需的值。您还需要一个监听器来监听选择。因此,一旦用户选择了一行,您就可以调用getValueAt()来获取该行中特定数据列的值。