Olá, pessoal.
Eu gostaria de jogar os valores digitados em 13 JFormattedTextField (vou escrever ftf) e jogar numa variável string que será referenciada num método rowset.setCommand(“insert into empresas(campos_da_tabela) value(valores_digitados_ftf);”) que mandará os dados para uma tabela mysql através de JDBC. Mas igual em Jack o estripador: vamos por partes… Deve ter de usar getText(), mas vou postar o erro.
Primeiro, instancio a classe das variáveis que vou usar:
Empresa empresa = new Empresa;
// a classe Empresa possui a string captacao encapsulada...
Depois, declaro os ftf com a string encapsulada no parâmetro:
final JFormattedTextField ftfCaptacao = new JFormattedTextField(empresa.getCaptacao(masc("##/##/####")));
// O método mas está devidamente implementado no código e não vem ao caso;
// se for o certo, eu só gostaria de saber como usar o getCaptacao() e o masc() juntos.
Eu sei que está absurdo, mas gostaria de saber o certo.
A classe inteira é muito comprida; então só vou postar se pedirem.
Agradecido
Lucas Ribeiro
lucasribeiro não entendi sua pergunta.
Só para esclarecer vc pode ao instanciar o objeto do tipo JFormattedTextField já passar a máscara.
Ex.:
Me explica ai qual o seu problema.
Amigo, a máscara eu já coloco normalmente…
O que preciso saber é: como passar os valores digitados em um componente “jformattedtextfield” para uma “variável_string”? Com getText()? E quando o ftf contiver máscara?
E depois preciso saber se posso simplesmente referenciar a string de dentro de um rowset: rowset.command("insert into empresas("campo_do_banco_de_dados") value(variável_string); Rowset é aquela classe que automatiza a implementação de conexões com bancos de dados, no meu caso mysql. Agora foi?
lucasribeiro vamos por parte.
Vc pode estar retirando a máscara utilizando o seguinte método:
Desta forma ele retorna a string sem o caractere especificado.
Porém na sua aplicação percebi que vc está utilizando a string para uma data e utilizando banco de dados MYSQL.
O que acontece é que o banco de dados aceita uma string como entrada para o atributo do tipo date, porém vc tem que obedecer o seguinte esquema: AAAA/MM/DD.
E no caso do comando sql vc teria q concatenar a instrução com o valor da variável, ficando assim:
Qualquer coisa dá uma grito ai!
amigo urbgames,
a informação do replace é valiosa, porque eu não sabia como aplicar e pequenas informações são mais difíceis de se obter. A informação da concatenação no rowset também, eu não tinha certeza e confirmar seria um jogo de lógica imprevisto.
Mas a principal informação necessária, é quanto a inserção dos valores em componentes JFormattedTextFields e JTextFields.
É o seguinte: em um formulário, seja no papel, caixa eletrônico, dialog, frame, ou qualquer outro tipo, as informações são inseridas pelo usuário por meio de campos de texto. No meu caso, eu uso os componentes JFormattedTextField e JTextField.
Logo, eu preciso saber como inserir os valores “digitados no JFormattedTextField” nas variáveis do tipo String alocadas previamente.
Por exemplo, vou escrever um código “errado” que expressa o que preciso fazer:
Empresa empresa = new Empresa();
String capt = empresa.getCaptacao();
JFormattedTextField ftfCaptacao = new JFormattedTextField(capt.getText(),masc("##/##/####")); Eu preciso inserir os valores digitados em um JFormattedTextField, “com máscara”, no espaço alocado para uma variável String exemplificada por “capt” no código acima. Mas o código acima está errado. Eu preciso saber como é o certo. Se o amigo puder me mostrar ou explicar como é o certo, eu ficaria mais satisfeito do que já estou. Pode me ajudar?
Agradeço desde já.
Lucas Ribeiro
lucasribeiro dá uma olhada neste código.
[code]
// 29/04/2013 ou 29042013 terá o mesmo resultado.
String capt =“29/04/2013”,temp;
javax.swing.text.MaskFormatter mascara_numero = null;
JFormattedTextField ftfCaptacao;
public Teste() {
try {
//Criando máscara
mascara_numero = new javax.swing.text.MaskFormatter("##/##/####");
} catch (ParseException e) {
e.printStackTrace();
}
//Passando máscara
ftfCaptacao = new javax.swing.JFormattedTextField(mascara_numero);
//Método para inserir o valor no JFormattedTextField a partir de uma String
ftfCaptacao.setText(capt);
System.out.println(ftfCaptacao.getText());
//Método para passar o valor do JFormattedTextField para uma string
temp = ftfCaptacao.getText();
System.out.println(temp);
}[/code]
Dá uma olhada e fala ai!
Cara, valeu mesmo!!! Muito obrigado!
Espero poder ajudar alguém assim tbm…
lucasribeiro as dúvidas são sempre importantes para se promover o conhecimento, tanto do usuário que está com dúvidas quanto para os outros que tentam ajudar.