如何根据单击的行获取jtable的单元格值

时间:2011-03-30 14:55:31

标签: java swing jtable

我正在尝试在连接到数据库的jtable上使用更新方法,并希望根据用户单击的行填写表单上的文本字段。我知道我将需要一个getValueAt()方法但是我不确定如何根据用户点击的哪一行填写哪一行。我无法在Google或其他任何地方找到任何信息,因此任何信息都会有所帮助!

2 个答案:

答案 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()来获取该行中特定数据列的值。