JFormattedTextField no NetBeans [Acho que resolvido]  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

Bom dia Colegas !

Não estou conseguindo setar o formato de um JFormattedTextField para data ("##/##/####").

O que fiz foi colocar a propriedade columns = 8 e colocar na opção "Código pós-criação:" =


Bom o código que resulto foi esse:
Construtor da classe:



initComponents gerado pelo NB:


No entanto, na tela aparece um TextField sem qualquer formatação.

Já tentei retirar tudo das propriedades e colocar o código no construtor, depois da chamada ao método initComponents, mas também não funcionou...

Alguem sabe a forma correta de utilizar esse objeto no NB ?

Outra coisa... tem como fazer com que o NB deixe alterar o código gerado ? Ter que entrar na propriedades toda hora da um trabalho...

Esqueci de dizer que fmtData esta declarada assim:


Obrigado a todos.
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

Boa noite Colegas !

Bom... se interessar a alguém, a maneira que encontrei foi:

Nas propriedades do JFormattedTextField setar, Columns = 8

Ainda na Propriedades, na opção Código, setar:

Código pré-criação:


Código pós-criação:


Obs.:
-ftmData é declarada como uma variavel com visibilidade da classe.
(uma das vantagens é que com isso posso utilizá-la para qualquer outro JFormattedTextField da minha tela)

-textoF3 é o meu objeto JFormattedTextField.

Um abraço a todos.
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

Boa noite colegas !

As maneiras que encontrei:

1) Em propriedades:

Setar propriedade FormatterFactory = new DefaultFormatterFactory(ftmData, ftmData);

onde: ftmData = new MaskFormatter("##/##/####");

variação: criar um método que retorne DefaultFormatterFactory e utilizar colocando na opção Código do usuário (nesse caso não colocar ";" no final)


2) Em Propriedades >> Código:

Setar Código pós-criação para:

onde: textoF3 é o próprio JFormattedTextField e ftmData é um objeto MaskFormatter("##/##/####");
Lembrar de inicializar ftmData.

3) No construtor:
Após o initComponent(); colocar


onde: textoF5 é o JFormattedTextField e ftmData é o objeto MaskFormatter já iniciailizado.

[]s
raci0nal
JavaChild
[Avatar]

Membro desde: 09/01/2007 12:53:24
Mensagens: 147
Offline

Zeed01, só para especificar meu método.
Como formatações de campos é algo muito constante em um sistema desktop eu crio uma classe "Formato" que me devolve um JFormattedTextField para as formatações comuns. Segue abaixo um pedaço:


Quando vou atribuir o formato à algum campo (uso JTextFields ao invés de JFormattedTextField) troco o código de criação dele para algo como:

Tudo para evitar repetição de código.
[MSN]
jacquesns
Thread.start()
[Avatar]

Membro desde: 13/07/2007 02:33:51
Mensagens: 33
Offline

Pessoal estou com uma dúvida semelhante.
Preciso através de um jFormattedTextField formatar a data fornecida.
Estou usando banco postgresql é o campo no banco é do tipo time stamp without time zone.

No meu caso estou usando o NetBeans e já coloquei o campo jFormattedTextField e começei a fazer o seguinte código no evento ActionPerformed do botão, só que não tenho noção como passar esse formato para data e
outra coisa preciso pegar esta data informada e coloca-la depois dentro de uma select.
Quardo este data num Data?

MaskFormatter ftmData;
try{
ftmData = new MaskFormatter("##/##/####");
//? jFormattedTextField_data ....?
}
catch(Exception e){}
[Email] [MSN]
YanPatrick
Smalltalk
[Avatar]

Membro desde: 21/03/2011 06:48:43
Mensagens: 2
Localização: Goiânia
Offline

Eu formatei do jeito mais facil possivel, tem muito topico explicando com codigo, mas são muitos e as vezes confunde, eu fiz pelo metodo "visual" mesmo, coloquei um JFormattedTextField e depois em propriedades > FormatterFactory > Mascara > personalizado. pronto utilizei a formatação para data (##/##/####) e ae o campo fica formatado já para

This message was edited 1 time. Last update was at 21/03/2011 20:22:13


Não importa onde, nem como nem com o que, faça ou pelo menos morra tentando! <<Get UP!>>
leonardo2204
Thread.start()
[Avatar]

Membro desde: 31/03/2010 00:02:06
Mensagens: 25
Offline

Sei que o topico eh meio antigo, mas para nao criar outro resolvi usar este mesmo.

raci0nal, apos fazer o que vc fez, como eu posso atualizar meu campo para que ele mostre o texto formatado ?

No meu, eu tive que fazer o seguinte para funcionar:



dando um print(jtfDataEnvio.getText()); ele me mostra corretamente formatado, mas no campo na tela (SWING) nao !

Como eu faço isso ?

E outra coisa, esta bom o jeito que eu fiz ? Apos o campo perder o foco ?

Abraço e obrigado !

This message was edited 1 time. Last update was at 08/05/2011 02:03:57


Federal University of São Carlos Student
São Carlos, Brazil
Institute of Computer Science
MNguila
Smalltalk

Membro desde: 28/12/2011 19:53:47
Mensagens: 4
Offline

obrigado pexoal
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team