JTextField em tempo real - Avaliando entrada em tempo real
2 respostas
jhonk1
Gostaria de saber como posso tratar uma entrada em tempo real pelo JTextField, eu estava pensando em usar o KeyPressed, mas estou procurando outro jeito.
O que eu quero é tipo assim:
O usuário ao digitar um valor no campo (JTextField), um comando(o que estou procurando) iria avaliar essa entrada em tempo real, e retornaria a mensagem que eu queria em tempo real.
Ex: o usuário esta digitando uma sequencia de números, ao lado do JTextField iria aparecer a mensagem que eu gostaria, ex: Digitando sequencia. E se ele apagasse essa sequencia exibiria uma mensagem “Sequencia apagada”;
Eu gostaria que esse comando avaliasse isso em tempo real, sem que o usuário precisasse pressionar nenhum JButton. Meu professor disse que existem comandos para isso e mandou a gente se virar XD Já procurei pra caramba, mas só achei outros tipos de comandos como o KeyPressed.
packageguj;importjava.awt.BorderLayout;publicclassTesteJTextFieldDinamicoextendsJFrame{privateJPanelcontentPane;privateJTextFieldtextField;privateJLabellabel;/** * Launch the application. */publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{TesteJTextFieldDinamicoframe=newTesteJTextFieldDinamico();frame.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/** * Create the frame. */publicTesteJTextFieldDinamico(){setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,450,300);contentPane=newJPanel();contentPane.setBorder(newEmptyBorder(5,5,5,5));contentPane.setLayout(newBorderLayout(0,0));setContentPane(contentPane);contentPane.add(getTextField(),BorderLayout.NORTH);contentPane.add(getLabel(),BorderLayout.SOUTH);}privateJTextFieldgetTextField(){if(textField==null){textField=newJTextField();textField.setColumns(10);textField.getDocument().addDocumentListener(newDocumentListener(){@OverridepublicvoidchangedUpdate(DocumentEvente){Documentd=e.getDocument();try{Stringtexto=d.getText(0,d.getLength());label.setText(texto.toUpperCase());// um exemplo do que fazer com o texto}catch(BadLocationExceptionex){}}@OverridepublicvoidinsertUpdate(DocumentEvente){Documentd=e.getDocument();try{Stringtexto=d.getText(0,d.getLength());label.setText(texto.toUpperCase());// um exemplo do que fazer com o texto}catch(BadLocationExceptionex){}}@OverridepublicvoidremoveUpdate(DocumentEvente){Documentd=e.getDocument();try{Stringtexto=d.getText(0,d.getLength());label.setText(texto.toUpperCase());// um exemplo do que fazer com o texto}catch(BadLocationExceptionex){}}});}returntextField;}privateJLabelgetLabel(){if(label==null){label=newJLabel("-");}returnlabel;}}