Componentes personalizados em java

2 respostas
josimarsis

Salve galera! Estou desenvolvendo meus próprios componentes visuais para desenvolvimento desktop. Gostaria de saber qual a melhor forma de tratar os eventos.Tratando dentro do PlainDocument como no exemplo abaixo:

// classe personalizada que amplia PlainDocument (converte o texto digitado em maiusculo) class UpperCaseDocument extends PlainDocument{ @Override public void insertString(int offs, String str, javax.swing.text.AttributeSet a) throws BadLocationException { super.insertString(offs, str.toUpperCase(), a); }
Ou tratando dentro de um Listener tipo KeyReleased?

2 Respostas

sergiotaborda

josimarsis:
Salve galera! Estou desenvolvendo meus próprios componentes visuais para desenvolvimento desktop. Gostaria de saber qual a melhor forma de tratar os eventos.Tratando dentro do PlainDocument como no exemplo abaixo:

// classe personalizada que amplia PlainDocument (converte o texto digitado em maiusculo) class UpperCaseDocument extends PlainDocument{ @Override public void insertString(int offs, String str, javax.swing.text.AttributeSet a) throws BadLocationException { super.insertString(offs, str.toUpperCase(), a); }
Ou tratando dentro de um Listener tipo KeyReleased?

Depende do tipo de eventos.
Todos os componentes Swing são javaBeans o que significa que eles avisam a alteração de todas as suas propriedades para todo o mundo.
Além disso cada componente conversa com um objeto de modelo (como Document para JTextField) onde certos eventos são tratados especialmente. Como esta relação é muitos para um, as chamadas são feitas via métodos especiais.

fabiofalci

Depende, mas nesse teu caso, o PlainDocument parece ser mais indicado.

Criado 15 de março de 2010
Ultima resposta 15 de mar. de 2010
Respostas 2
Participantes 3