Salve a tutti!!! Ho una jtextfield attraverso il quale, inserendo il codicecliente, ricerco i dati anagrafici di un cliente all'interno di un database. Se la jtextfiled rimane vuota o il codice errato, attraverso il medoto focuslost faccio comparire un messaggio di errore attraverso il quale informo l'utente dell'errore nella digitazione. Fin qui tutto bene, il tutto funziona. Adesso arriva il problema: all'utente offro anche la possibilità di ottenere il codice nella jtextfiled attraverso un pulsante col quale apre una tabella(in un'altro form) su qui cliccare in modo da inserire il codice. Il problema è che non appena clicco sul pulsante (questo è evento è giustamente considerato un focuslost) mi appare il messaggio di errore di cui sopra, io voglio che quest'ultimo non appaia, come posso risolvere. Posto il codice.
codice:private void txtClienteFocusLost(java.awt.event.FocusEvent evt) { String sql="select * from clienti where codcli=?"; try{ pst= con.prepareStatement(sql); pst.setString(1, txtCliente.getText()); rs=pst.executeQuery(); rs.next(); RagSoc.setText(rs.getString(4)); Indirizzo.setText(rs.getString(5)); Comune.setText(rs.getString(6)); PIva.setText(rs.getString(2)); Prov.setText(rs.getString(8)); Cap.setText(rs.getString(7)); } catch(Exception e){ JOptionPane.showMessageDialog(null, "Codice cliente inesistente!"); SwingUtilities.invokeLater(new Runnable() { public void run() { txtCliente.requestFocusInWindow(); } }); } }

Rispondi quotando

