JTextField e JPasswordField - Como usar caixas de texto e de senha em Java - Java Progressivo.pdf
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); }}