JTextField Prsonalizado

4 respostas
N

Hola a todos

Sou novo aqui no forum, ja consegui fazer algumas coisas com java para desktop e agora quero criar classes para reutilização do codigo, quero iniciar com uma classe de campos EX:

JTextField:

Limitar tamanho do campo.

Apenas maiusculas.

Mudar cor de fundo ao receber e perder o focu.

De inicio seria isso, ja consegui fazer uma para limitar o tamanho e passar tudo para maiusculas conforme codigo abaixo.

import java.awt.event.FocusEvent;

import javax.swing.text.*;
public class ClasseCampos extends PlainDocument {

private int limit;

// optional uppercase conversion

private boolean toUppercase = false;
ClasseCampos(int limit) {
    super();
    this.limit = limit;
}

ClasseCampos(int limit, boolean upper) {
    super();
    this.limit = limit;
    toUppercase = upper;
}
    
@Override
public void insertString (int offset, String  str, AttributeSet attr) throws BadLocationException {
    if (str == null) return;
    if ((getLength() + str.length()) <= limit) {
        if (toUppercase) str = str.toUpperCase();
        super.insertString(offset, str, attr);
    }
}

    public void focusLost(FocusEvent e) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

}

Preciso apenas de um exemplo simples para iniciar, outra coisa tenho como criar um classe para todos os campos (Cep, Data, Moeda, etc) tudo no mesmo .Class

Um abraço

4 Respostas

E

Eu recomendaria algo como uma hierarquia de classes. Por exemplo:

TextFieldPersonalizado
    -> TextFieldMoeda
    -> TextFieldCEP
    -> TextFieldCPF
    -> TextFieldCNPJ
    -> TextFieldData
    -> TextFieldPIS
    -> TextFieldRG
    -> TextFieldPlacaCarro
    -> TextFieldRenavam

e assim por diante.

N

Hola entanglement

Me desculpe mas ainda estou no inicio disso tudo, você não tem algum exemplo, pode ser bem simples de uma classe que faça aqueles 3 controles citados acima, apenas para eu ter como base, conseguindo fazer essa primeira funcionar ai me viro com o resto.

Um abraço

charleston10

Boa a ideia, mas use a TagCode ok ?

E

nilton_cpm:
Hola entanglement

Me desculpe mas ainda estou no inicio disso tudo, você não tem algum exemplo, pode ser bem simples de uma classe que faça aqueles 3 controles citados acima, apenas para eu ter como base, conseguindo fazer essa primeira funcionar ai me viro com o resto.

Um abraço

Não crie uma classe só que faz tudo. É melhor criar 3 classes diferentes, cada uma especializada em fazer uma determinada coisa.

Não tenho um exemplo aqui

Criado 28 de fevereiro de 2013
Ultima resposta 28 de fev. de 2013
Respostas 4
Participantes 3