Int+String em um campo obrigatoriamente!

Boa tarde pessoal, to com uma pequena duvida creio que simples de se resolver eu tenho um jtextfield que recebe tanto int como string, e gravo no meu banco o conteudo desse jtextfield normalmente, porem queria saber como faço para obrigar a conter int+string no campo tipo se eu digita apenas abc ele n grava mas se eu digitar abc321 ele aceitar entende? obrigada pela atencao :oops:;

Não me vem a cabeça uma forma simples de fazer isso (na minha pelo menos) sem analizar cada caractere da string e comparar com seus valores unicode.
Não podem ser dois campos separados ?
E tem que checar se não é caractere especial também ?

verdade, de forma simple só em dois campos separados, depois se realizava a concatenação

N, tem q ser em um componente pq tipo é uma jpasswordfield que ira receber senha e nesse campo e obrigatorio numeros e letras entende? eh ai q esta minha duvida como fazer uma obrigatoriedade de o jpasswordfield nao operar se se conter numeros e letras!

Well, acabei de postar sobre a forma que falei em outro tópico que seria essa:

[code]public static void main(String[] args) {

	char a = 'a';
	char z = 'z';
	char A = 'A';
	char Z = 'Z';
	char um = '1';
	char nove = '9';

	System.out.printf("a = %d\nz = %d\nA = %d\nZ = %d\n1 = %d\n9 = %d\n",
			(int) a, (int) z, (int) A, (int) Z, (int) um, (int) nove);

} // main[/code]

Pegando o (int) de um char, você recebe o valor Unicode dele do qual você poderia usar para fazer as checagens.

entendi mais ou menos ai teria que criar o char para todas as letras? de A a Z? de 1 a 9 ? teria algum otro exemplo e muito obrigado pela sua atencao

Não para todas, você vai precisar comparar 3 ranges apenas.
O valor unicode de ‘a’ até ‘z’ e ‘A’ até ‘Z’ mostra que tem caracteres.
O valor de 0 até 9 mostra que tem números.

Executando o código que coloquei antes você obtém esses ranges:
a = 97
z = 122
A = 65
Z = 90
1 = 49
9 = 57

97 - 122 = caracteres minúsculos
65-90 = caracteres maiúsculos
49-57 = números

Basta pegar cada caractere do password agora e comparar com esses valores

Segue exemplo que como criar um compoente para validação automática.

PS: Não precisa reinventar a roda use o StringUtils da Apache Commons para verificar se é Letra ou Número.
http://commons.apache.org/lang/api/org/apache/commons/lang/StringUtils.html
http://commons.apache.org/

Abraço,
Rodrigo

[code]import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;

import org.apache.commons.lang.StringUtils;

/**

  • Exemplo de validação do Text para placa de um carro. Também possível usar uma

  • Expressão Regular para deixar mais genérico.

  • @author Rodrigo G. Tavares de Souza
    */
    public class ExemploTextPlaca extends JTextField {

    public static void main(String[] args) {
    ExemploTextPlaca txtPlaca = new ExemploTextPlaca(20);
    JFrame frm = new JFrame("Exemplo Placa");
    frm.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frm.add(txtPlaca);
    frm.pack();
    frm.setVisible(true);

    }

    /**

    • @see JTextField#JTextField()
      */
      public ExemploTextPlaca() {
      super();
      }

    /**

    • @see JTextField#JTextField(int)
      */
      public ExemploTextPlaca(int columns) {
      super(columns);
      }

    @Override
    protected Document createDefaultModel() {
    return new PlainDocument() {

     	@Override
     	public void insertString(int offs, String str, AttributeSet a)
     			throws BadLocationException {
     		ExemploTextPlaca thiz = ExemploTextPlaca.this;
    
     		// Passa tudo para maiusculo
     		// pode-se fazer um controle aqui
     		// com enum
     		// criando um setCase(UPPER|LOWER)
     		str = str.toUpperCase();
    
     		// Verificando o total
     		String tmpStr = thiz.getText() + str;
    
     		// Validando uma placa de carro
     		// onde os três primeiro caracteres
     		// são string e os últimos são números
     		// e o tamanho é 7 (3 Letras e 4 números
     		if (tmpStr.length() > 7) {
     			Toolkit.getDefaultToolkit().beep();
     			return;
     		}
    
     		if (tmpStr.length() <= 3) {
     			// Tres primeiros devem ser obrigatóriamente
     			// letra
     			if (!StringUtils.isAlpha(str)) {
     				Toolkit.getDefaultToolkit().beep();
     				return;
     			}
     		} else {
     			// Se não são os três primeiros
     			// são os quatro últimos números
     			// que devem ser números
     			if (!StringUtils.isNumeric(str)) {
     				Toolkit.getDefaultToolkit().beep();
     				return;
     			}
     		}
    
     		// Se não passou em nenhum return
     		// insere o texto no componente
     		super.insertString(offs, str, a);
     	}
     };
    

    }

}
[/code]

esse string utils serve apenas para verificacao de numeros e letras ou ele tem mais funcionalidades?

Tem muito mais funcionalidades…
Dá um olhada no link que tem todas as funções…
Abraço,

Ou então com Regex voce pode verificar isso.

nao consegui ;/ tentei usar a collection compareTo mas n deu muito certo oq devoi usar para comparar com as 3 ranges?