Tonik Posted July 6, 2012 at 10:18 AM Report Share #467632 Posted July 6, 2012 at 10:18 AM (edited) Bom dia pessoal, Eu no meu programazito, tenho uma classe que é de registar clientes, onde tem os seguintes campos para preencher, noma, morada, nif, telemovel, telefone, email, e gostaria de verificar se estes campos estão preenchidos, e no caso no campos numericos, vereficar se estão la inserido campos nomerios, assim como no caso do telemovel sem tem 9 carateres numericos inseridos. Cumprimentos private void GuardarClienteActionPerformed(java.awt.event.ActionEvent evt) { int resp = -1; nomeCliente = nomeClientetf.getText(); moradaCliente = moradaClientetf.getText(); nifClienteString = nifClientetf.getText(); nifCliente = Integer.parseInt(nifClienteString); idCliente = nomeCliente + nifClienteString; tlfCliente = Integer.parseInt(tlfClientetf.getText()); tlmCliente = Integer.parseInt(tlmClientetf.getText()); emailCliente = emailClientetf.getText(); resp = gestor.guardarCliente(idCliente, nomeCliente, moradaCliente, nifCliente, tlmCliente, tlfCliente, emailCliente); nomeClientetf.setText(""); moradaClientetf.setText(""); nifClientetf.setText(""); tlfClientetf.setText(""); tlmClientetf.setText(""); emailClientetf.setText(""); //pop up com resposta: if(resp == -1){ JOptionPane.showMessageDialog(null, "Identificador já utilizado"); } else{ jTable2.getModel().setValueAt(idCliente, countJTableClientes , 0); jTable2.getModel().setValueAt(nomeCliente, countJTableClientes, 1); countJTableClientes++; JOptionPane.showMessageDialog(null,"Cliente adicionado com sucesso."); } } Edited July 6, 2012 at 11:14 AM by Baderous geshi Link to comment Share on other sites More sharing options...
joelbrito Posted July 6, 2012 at 10:46 AM Report Share #467647 Posted July 6, 2012 at 10:46 AM Podes verifica se um campo está vazio assim: if(nomeClientetf.getText().equals("")){ //Campo vazio }else{ //Stuff } e para os campos numéricos podes utilizar o formattedTextField. http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html http://javafree.uol.com.br/artigo/863862/JFormattedTextField.html Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs Link to comment Share on other sites More sharing options...
Tonik Posted July 6, 2012 at 12:30 PM Author Report Share #467677 Posted July 6, 2012 at 12:30 PM (edited) Amigo assim consigo verificar se o campo está fazio, e manda uma menssagem para o ecra a dzr que falta preencher o nome, mas no fim guarda guarda da mesma forma int resp = -1; nomeCliente = nomeClientetf.getText(); moradaCliente = moradaClientetf.getText(); nifClienteString = nifClientetf.getText(); nifCliente = Integer.parseInt(nifClienteString); idCliente = nomeCliente + nifClienteString; tlfCliente = Integer.parseInt(tlfClientetf.getText()); tlmCliente = Integer.parseInt(tlmClientetf.getText()); emailCliente = emailClientetf.getText(); if(nomeClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o nome"); if(moradaClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher morada"); if(nifClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o Nif"); }else{ resp = gestor.guardarCliente(idCliente, nomeCliente, moradaCliente, nifCliente, tlmCliente, tlfCliente, emailCliente); nomeClientetf.setText(""); moradaClientetf.setText(""); nifClientetf.setText(""); tlfClientetf.setText(""); tlmClientetf.setText(""); emailClientetf.setText(""); //pop up com resposta: if(resp == -1){ JOptionPane.showMessageDialog(null, "Identificador já utilizado"); } else{ jTable2.getModel().setValueAt(idCliente, countJTableClientes , 0); jTable2.getModel().setValueAt(nomeCliente, countJTableClientes, 1); countJTableClientes++; JOptionPane.showMessageDialog(null,"Cliente adicionado com sucesso."); } Edited July 6, 2012 at 06:58 PM by Baderous geshi Link to comment Share on other sites More sharing options...
joelbrito Posted July 6, 2012 at 12:41 PM Report Share #467678 Posted July 6, 2012 at 12:41 PM (edited) Assim só não grava se o nifClientetf estiver vazio. Tens o código um pouco confuso, faltam-te fechar algumas chavetas nos ifs. if(nomeClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o nome"); }else if(moradaClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher morada"); }else if(nifClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o Nif"); }else{ //GuardaraCliente } Só guardas se nenhum dos campos estiver vazio. Edited July 6, 2012 at 12:48 PM by joelbrito Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs Link to comment Share on other sites More sharing options...
Tonik Posted July 6, 2012 at 02:16 PM Author Report Share #467693 Posted July 6, 2012 at 02:16 PM Obrigado amigo void, o código que meteste a cima resolveu o problema 🙂 Eu sei que tenho o código um pouco confuso mas ainda sou novo neste ramo da programaçao. Consegues-me deixar um exemplo de como validar se no campo estão inseridos carateres numericos e se tem nove carateres lá inseridos? Eu não consegui validar os carateres numericos 😞 Mais uma vez obrigado pelo ajuda dada acima foi mesmo muito util. =) Link to comment Share on other sites More sharing options...
Tonik Posted July 6, 2012 at 03:12 PM Author Report Share #467711 Posted July 6, 2012 at 03:12 PM (edited) Eu tenho o código assim, ja valida se os campos estao escrito ou nao, e caso seja tudo positivo guarda, já está bom, agora resta validar se são carateres numericos e quantos tem! 🙂 if(nomeClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o nome"); }else if(moradaClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher morada"); }else if(nifClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o Nif"); }else if(tlmClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o Telemovel"); }else if(tlfClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher oTelefone"); }else if(emailClientetf.getText().equals("")){ JOptionPane.showMessageDialog(null, "Tem de Preencher o email"); }else{ Edited July 6, 2012 at 06:58 PM by Baderous geshi Link to comment Share on other sites More sharing options...
AJBM Posted July 6, 2012 at 06:32 PM Report Share #467780 Posted July 6, 2012 at 06:32 PM (edited) Boas para validar se são caracteres numéricos tenta isto void vernumeros(String numeros){ char[] c if (numeros != null) { for (int i = 0; i < numeros.length(); i++) { c = numeros.toCharArray(); for (int j = 0; j < c.length; j++) { if (!Character.isDigit(c[j])) { mandas uma mensagem } } } } Edited July 6, 2012 at 06:36 PM by AJBM Link to comment Share on other sites More sharing options...
joelbrito Posted July 6, 2012 at 06:54 PM Report Share #467787 Posted July 6, 2012 at 06:54 PM void vernumeros(String numeros){ char[] c if (numeros != null) { for (int i = 0; i < numeros.length(); i++) { c = numeros.toCharArray(); for (int j = 0; j < c.length; j++) { if (!Character.isDigit(c[j])) { mandas uma mensagem } } } } Isto funciona?? Não me parece... Vê este exemplo e adapta ao que tu queres: String str = "1ol5a"; char[] c = new char[str.length()]; c=str.toCharArray(); for(int i =0; i<c.length ; i++){ if(!Character.isDigit(c[i])){ System.out.println("Posiçao "+i+" não é numerico!!! "+c[i]); }else{ System.out.println("Posiçao "+i+" é numerico!!! "+c[i]); } } Mas para mim a melhor forma é utilizar o formatted text field só a aceitar números e com um tamanho determinado, ou não, dependendo dos números de telef/telem que vão ser introduzidos. Para outros países o tamanho pode não ser 9. Isto se for uma aplicação gráfica e não de consola. 1 Report Engenharia de Sistemas Informáticos @ IPCA "Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now