5
I am learning how to create a sales system and created this method to take information from a Textfield and play within a table by clicking the enter button. I created a Try-catch to handle exceptions and, if you enter the catch, opens a Joptionpane. When I press enter again, the "OK" button of JOptionPane
is tight by default.
However, when I click enter to close the JOptionPane
, it closes and opens again, as it is as if the Textfield click event was activated, and it ends up being a kind of loop, where every time the JOptionPane
and the enter is tight, it disappears and appears again.
How to solve this?
private void pegarConteudo(java.awt.event.KeyEvent e) {
jLabelStatus.setText("Caixa Aberto");
DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
if (e.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {//Verifica se a tecla ENTER foi pressionada
try {
modelProdutos = controllerProdutos.retornarProdutosController(Integer.parseInt(jTextFieldPesquisa.getText()));
modelo.addRow(new Object[]{
modelo.getRowCount() + 1,
modelProdutos.getIdProduto(),
modelProdutos.getProdutoNome(),
quantidade,
modelProdutos.getProdutoValor(),
modelProdutos.getProdutoValor() * quantidade
});
jTextFieldValorTotal.setText(somaValorTotal() + "");
jTextFieldPesquisa.setText("");
quantidade = 1;
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Produto não cadastrado", "ERRO", JOptionPane.ERROR_MESSAGE);
jTextFieldPesquisa.setText("");
}
}
Edit the question and submit a [mcve] p so it is possible to execute the code.
– user28595