有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java自动选择JTable的其他行

我想开发一个计费系统swing应用程序,但我在一个地方卡住了。我希望在计费后,JTable行选择移动到第一行进行下一次计费,但在提交后,会出现最后一行或其他行选择。请帮帮我。。。 [按键事件后] 密钥绑定如下所示

InputMap im = cartTable.getInputMap();
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Action.NextCell");
    im.put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "Action.NextCell");

ActionMap am = cartTable.getActionMap();
am.put("Action.NextCell", new AbstractAction(){

    @Override
    public void actionPerformed(ActionEvent e) {
        int col = cartTable.getSelectedColumn();
        int row = cartTable.getSelectedRow();

        if(col==0 && cartTable.getValueAt(row, col)==null){
            ProductListForm productList=new ProductListForm();
            productList.setVisible(true);
        }else if(col==1 && ProductListForm.product.getName()!=null){
            setValueToTable();
        }else if(col==7){
            calculateValue();
        }else if(col==9){
            calculateTotal();
            row++;
            col=-1;
        }
        col++;
        cartTable.changeSelection(row, col, false, false);
        cartTable.editCellAt(row, col);
    }
}); 

账单提交代码如下

if(evt.getKeyCode()==KeyEvent.VK_PAGE_DOWN){
            JOptionPane.showMessageDialog(this, "Record Saved", "message", JOptionPane.OK_OPTION);
            savePurchaseDetails();
            saveStockDetails();
            resetPage();
            updateReturnTable();
            int result=JOptionPane.showConfirmDialog(this, "Do you want to print reciept?", "Print Confirmation", JOptionPane.YES_NO_OPTION);
            if(result==JOptionPane.YES_OPTION){

            }
            cartTable.changeSelection(0, 0, false, false);
        }

共 (0) 个答案