Luna Luna -5 years ago 244
Java Question

JTable enter key

I am developing an application using

for inventory management.

The action is, by typing the item code in a
and by pressing Enter key, the details of that code should come to
. And there I have to type the quantity and press Enter to calculate the amount. But now by giving item code the details come to the
, and I can type the quantity, but there by pressing Enter key
focus goes to the next row and no calculation is being done. But by again pressing Enter key on the
the last entered amount is getting calculated. I don't know how to solve this problem as I am a beginner in Java. I am using MySQL and Java in Netbeans.

I am giving that code below..

Thank You..

jTable1.editCellAt(serialNumber, 2);

value1 = new Double(jTable1.getValueAt(serialNumber, 2).toString());
value = new Double(jTable1.getValueAt(serialNumber, 3).toString());
double result = value1 * value;

jTable1.setValueAt(result, serialNumber, 4);

Answer Source

The default Key Binding for Enter is the selectNextRowCell action in the table's WHEN_ANCESTOR_OF_FOCUSED_COMPONENT input map. You can substitute your own action, as outlined below.

private static final String solve = "Solve";
KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(enter, solve);
table.getActionMap().put(solve, new EnterAction());
private class EnterAction extends AbstractAction {

    public void actionPerformed(ActionEvent e) {

See also Keyboard Bindings in Swing (mirrored at

Addendum: You can find more examples here, here and here; the last one is JTable specific.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download