JTextField e JPasswordField - Como usar caixas de texto e de senha em Java - Java Progressivo.pdf

4

Click here to load reader

Transcript of JTextField e JPasswordField - Como usar caixas de texto e de senha em Java - Java Progressivo.pdf

  • 19/05/2015 JTextFieldeJPasswordFieldComousarcaixasdetextoedesenhaemJavaJavaProgressivo.net

    data:text/htmlcharset=utf8,%3Ch3%20class%3D%22posttitle%20entrytitle%22%20itemprop%3D%22name%22%20style%3D%22margin%3A%200px% 1/4

    JTextFieldeJPasswordFieldComousarcaixasdetextoedesenhaemJavaDandocontinuidadeanossaseodeInterfacesGrficasdoUsurio(GUI),vamosensinaroque,paraqueserveecomousarascaixasdetextosedesenha,asJTextFieldeJPasswordField,quenospossibilitaroacomunicaoentrenossoaplicativoJavaeaentradadousuriopeloteclado.

    AofinaldestetutorialdeJava,iremoscriarumexemplomostrandoumaaplicaosimplesdeLogineSenha.

    JtirousuacertificaodeprogramadorJava?

    Qualaprimeiracoisaquevocfazapsligarseucomputador?Qualaprimeiraao,interaoquevoctemcomsuamquina?Provavelmentepreencherologinesenhaparalogaremseusistemaoperacional.

    Devefazeromesmoparaacessarseuemailoualgumaredesocial.Aofazerumacompranainternet,vocprecisapreenchertodososseusdados,comonome,datadenascimento,nmerodocartodecrditoetc.

    Noseisereparou,masatodoinstanteestamostendocontatocomcaixasdetexto.Ouseja,escrevemosalgoeoquedigitamosenviadoparaalgumlugar,usadoemalgumalgoritmoparatestar,validar,armazenarouchecaroquedigitamos.

    Tudoissofeitocomcaixasdetexto,queofotodestenossotutorialdenossaapostiladeJava.Ouseja,nemprecisamosentraremdetalhesoquoimportanteestascaixasso,portantodevemosaprenderacriartalrecursoemprogramaoJava.

    IssofeitoatravsdacomponenteJTextField.

    AssimcomooutrosJComponents,precisamosprimeiramenteimportaraclasseresponsvelporcadacomponente.Nocasodascaixasdetexto,devemosimportar:importjavax.swing.JTextField

    Vamosdeclararissoemumaclassechamada"CaixaDeTexto",queirestenderumJFrame.Inicialmente,vamosusar3componentes.Duascaixasdetexto:"fixo"e"caixa"eumaJButton,o"exibe".Valeressaltarquesemprequeinicializamosumacaixadetexto,elaterautomaticamenteumastring,queexibidanacaixadetexto.

    Devemosaprender,inicialmente,trsimportantesmtodosdeumJTextField:

    setTexto(Stringstr)Fazacaixadetextoarmazenarastring"str"

    getTexto()RetornaastringdeumJTextField

    setEditable(booleanb)Hduasopesdecaixasdetexto,aseditveis(ondepossvelescrevermosalgo)easnoeditveis(caixasquepossuemumtextofixo,quenopossvelalterar,comoasconhecidas"TermoseRegulamentos"quesempreaceitamossemler:)

    Crieumprogramaqueexibaduascaixasdetexto,umaeditveleoutranoeditvel,edoisbotes,umde"Exibe"quemostraotextodigitadoemumacaixadedilogoeumbotode"Limpar",queapagaocontedodacaixadetextoeditvel.

    Vamosinicializaracaixadetextonoeditvelcomastring"Nopossvelalteraressacaixadetexto".JaJTextFieldeditvel,vamosiniciarcomonmero20,querepresentaonmerodecaracteresqueastringdessacaixadetextoarmazena.

    Osdoisbotessoinicializadoscomseusnomes"Exibir"e"Limpar".Agoravamostrataroseventosdosbotes(noprecisamostratarasJTextField's,poisaopassoquedigitamosalgonacaixadetexto,asuastringjautomaticamentemudadaeatualizada).

    JTextFieldCaixasdeTexto

    JTextFieldComocriareusarumacaixadetextoemJava

    ExemplosobreJTextField

  • 19/05/2015 JTextFieldeJPasswordFieldComousarcaixasdetextoedesenhaemJavaJavaProgressivo.net

    data:text/htmlcharset=utf8,%3Ch3%20class%3D%22posttitle%20entrytitle%22%20itemprop%3D%22name%22%20style%3D%22margin%3A%200px% 2/4

    Vamosusarobjetosannimos,vistoquesoJButtonssimples,ondecadaumfazumacoisaespecfica:Oboto"Exibir"simplesmenteexibeumaJOptionPanecomastringdacaixadetexto,queestarmazenadaem:caixa.getText()

    Eoboto"Limpar"simplesmentecolocaumastringvazianacaixadetexto.Issofeitopelomtodo:caixa.setText("")

    Epronto!Vejaocdigoeteste:

    importjavax.swing.JFrame;publicclassMain{ publicstaticvoidmain(String[]args){ CaixaDeTextotexfield=newCaixaDeTexto(); texfield.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); texfield.setSize(310,110); texfield.setVisible(true); }

    }

    importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JTextField;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JOptionPane;

    publicclassCaixaDeTextoextendsJFrame{ privateJTextFieldfixa,caixa; privateJButtonexibe,limpa; publicCaixaDeTexto(){ super("JTextFieldCaixasdetexto"); setLayout(newFlowLayout()); fixa=newJTextField("Nopossvelalteraressacaixadetexto"); fixa.setEditable(false); add(fixa); caixa=newJTextField(20); add(caixa); exibe=newJButton("Exibir"); exibe.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEventevento){ if(evento.getSource()==exibe) JOptionPane.showMessageDialog(null,caixa.getText()); } } ); add(exibe); limpa=newJButton("Limpar"); limpa.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEventevento){ if(evento.getSource()==limpa) caixa.setText(""); } } ); add(limpa);

    Main.java

    CaixaDeTexto.java

  • 19/05/2015 JTextFieldeJPasswordFieldComousarcaixasdetextoedesenhaemJavaJavaProgressivo.net

    data:text/htmlcharset=utf8,%3Ch3%20class%3D%22posttitle%20entrytitle%22%20itemprop%3D%22name%22%20style%3D%22margin%3A%200px% 3/4

    }}

    SevocaprendeubemcomoseusaroJTextField,jentendeucomofuncionaaJPasswordField,poisanicadiferenaqueesteJComponentexibeasteriscosnolugardoscaracteresqueousurioescreve.

    Vocnovastringdigitada,maselaestl,presentenoJPasswordField.Emboranopossamosver,podemostrabalharnormalmentecomastring.Porexemplo,podemoscompararduasstrings:asenhaoriginaleaqueousuriodigitou,seestiveremiguais,sucesso.Seno,noentra)

    ExemplodeusodoJPasswordFieldCrieumprogramaemJavaquepedeonomedeusurioesenhaparaousurio.Casoestejamcertos,umamensagemdesucessoexibida,casocontrrioumamensagemdeerromostradanacaixadedilogo.Implementetambmumbotoparalimparamboscampos.

    Anicadificuldadequealgumpodeternesteexerccioodacomparaodestrings,quefeitaatravsdomtodoX.equals(Y),queretornaTRUEcasoXsejaigualaY,eFALSEcasocontrrio.

    Eagoranossoboto"Limpar"colocaumastringvaziatantonousuriocomonasenha.VamosusardoisJLabels,queestaroescritos"Usurio"e"Senha",aoladodascaixasdetextoedesenha.

    ComovocprogramadorJava,certamenteolhandoparaocdigovoccapazdedescobrirqualousurioesenhaparaentrarnosistema:)

    importjavax.swing.JFrame;publicclassMain{ publicstaticvoidmain(String[]args){ CaixaDeTextotexfield=newCaixaDeTexto(); texfield.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); texfield.setSize(310,110); texfield.setVisible(true); }

    }

    importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPasswordField;importjavax.swing.JTextField;importjavax.swing.JLabel;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JOptionPane;

    publicclassCaixaDeTextoextendsJFrame{ privateJTextFieldusuario; privateJPasswordFieldsenha; privateJButtonlogin,limpa; privateJLabeluser,pass; publicCaixaDeTexto(){

    JPasswordFieldComocriarcaixasdesenha

    Main.java

    CaixaDeTexto.java

  • 19/05/2015 JTextFieldeJPasswordFieldComousarcaixasdetextoedesenhaemJavaJavaProgressivo.net

    data:text/htmlcharset=utf8,%3Ch3%20class%3D%22posttitle%20entrytitle%22%20itemprop%3D%22name%22%20style%3D%22margin%3A%200px% 4/4

    super("LoginemJava"); setLayout(newFlowLayout()); user=newJLabel("Usurio:"); add(user); usuario=newJTextField(15); add(usuario); pass=newJLabel("Senha:"); add(pass); senha=newJPasswordField(15); add(senha); login=newJButton("Entrar"); login.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEventevento){ if(evento.getSource()==login) if(usuario.getText().equals("Java")&&senha.getText().equals("progressivo")) JOptionPane.showMessageDialog(null,"Parabns,vocentrounaMatrix!"); else JOptionPane.showMessageDialog(null,"Senhaerrada!EstudeJava!"); } } ); add(login); limpa=newJButton("Limpar"); limpa.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEventevento){ if(evento.getSource()==limpa){ usuario.setText(""); senha.setText(""); } } } ); add(limpa); }}