Lun*_*una 11 java swing jtable
我正在开发一个jTable用于库存管理的应用程序.
操作是通过在a中键入项目代码jTextField并按下Enter键,该代码的详细信息应该来到jTable.在那里我必须输入数量并按下来Enter计算金额.但是现在通过给出项目代码详细信息jTable,我可以输入数量,但Enter按键jTable焦点会转到下一行,而不进行任何计算.但是,再次按下最后输入的金额Enter上的键jTextField就会被计算出来.我不知道如何解决这个问题,因为我是Java的初学者.我在Netbeans中使用MySQL和Java.
我在下面给出了这个代码..
谢谢..
jTable1.editCellAt(serialNumber, 2);
jTable1.getCellSelectionEnabled();
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);
Run Code Online (Sandbox Code Playgroud)
tra*_*god 29
默认键绑定的Enter是selectNextRowCell在表的动作WHEN_ANCESTOR_OF_FOCUSED_COMPONENT输入地图.您可以替换自己的操作,如下所述.
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 {
@Override
public void actionPerformed(ActionEvent e) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
另请参见Swing中的键盘绑定(在web.archive.org上镜像).
附录:你可以在这里,这里和这里找到更多的例子; 最后一个是JTable具体的.
| 归档时间: |
|
| 查看次数: |
16752 次 |
| 最近记录: |