Pessoal, tenho que verificar se o que foi digitado num JTextField tem 10 caracteres ou mais, se tiver menos tenho que completar com zeros. Como faço ara saber quantos caracteres foram digitados num JTextField?
Como saber quantos caracteres foram digitados num JTextField?
7 Respostas
jTextField.getText().length;
isso vai de retornaar o numero total de carracteres que existe no textFields
vlwwww, já ia fazer como eu fiz pra limitar o numero de caracteres no campo. vlwwwww
queria tirar outra duvida… como falei mais acima tenho que verificar se o tamanho do que foi digitado no JTextField é menor que 10, se for tenho que completar com zeros. O meu codigo esta assim:
public void actionPerformed(ActionEvent event) {
if(event.getSource() == (InterfaceGrafica.enviar)){
remetente2 = InterfaceGrafica.remetente.getText();
size=InterfaceGrafica.remetente.getText().length();
if (size<10) {
int x = 10-size;
while (x != 0){
InterfaceGrafica.remetente.setText(remetente2+0);
x--;
}
}
System.out.println(remetente2);
O sysout no final é só pra ver como fica o remetente no final…
O problema que estou tendo é o seguinte, no evento do clique do botao enviar é verificado se o size do remetente é impresso no console kaio(se eu tiver digitado kaio), se eu clicar de novo no enviar aparece kaio0, de novo kaio00…kaio000… ate completar o limite de caracteres domeu campo que botei como sendo 10… como faço pra ele mostrar logo kaio000000 num clique apenas do botao enviar?
Creio que como é outra duvida seja melhor eu criar outro topico neh? Abraço.
while(InterfaceGrafica.remetente.getText().length() < 10)
{
InterfaceGrafica.remetente.setText(InterfaceGrafica.remetente.getText()+0);
}
que tal?
para limitar o numero de caracteres no campo, não use eventos e sim estenda um PlainDocument.
veja um exemplo.
public class LimitaNroCaracteres extends PlainDocument
{
private int iMaxLength;
public LimitaNroCaracteres(int maxlen) {
super();
iMaxLength = maxlen;
}
@Override
public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException {
//if (s == null) return;
if (iMaxLength <= 0) // aceitara qualquer no. de caracteres
{
super.insertString(offset, str.toUpperCase(), attr);
return;
}
int ilen = (getLength() + str.length());
if (ilen <= iMaxLength) // se o comprimento final for menor...
super.insertString(offset, str.toUpperCase(), attr); // ...aceita str
}
}
//como usar
JTextField txtField = new JTextField(20);
txtField.setDocument(new LimitaNroCaracteres(10));
t+ e boa sorte.
Pois foi, foi isso mesmo que fiz… Obrigado pela resposta cara. 