Galera Boa tarde!
Seguinte, estou com uma dificuldade que talvez seja algo simples, porem como estou iniciando na programação, não estou conseguindo resolver.
A situação é: Tenho uma tela com um TextField onde o usuário insere um codigo de 13 digitos (código de barras) e um botão gerar e nessa mesma tela tenho um outro TextField onde o mesmo receberá o calculo feito do código recebido, porem esse calculo é feito em uma outra classe e minha dificuldade esta sendo setar o resultado do calculo nesse segundo TextField, não estou conseguindo buscar o resultado do calculo e setar no campo.
Alguém poderia me da uma luz com isso?
Se sua classe que faz o cálculo estiver devolvendo esse valor pra você, basta aplicar um seuField.setText(conteudoRetornado);
Caso contrário você tem que fazer a classe de cálculo te devolver esse valor calculado.
Bom dia!
Então, ja tentei mas sem sucesso. Segue uma parte do código.
Pra simplificar não postei os get e set, em resumo o programa recebe um codigo na classe principal e através do botão gerar é chamado o metodo calculoean da classe Calculo onde o mesmo deveria retornar o resultado no TextField txt_codean14i da classe Principal, e essa esta sendo minha dificuldade.
public class Principal extends javax.swing.JFrame {
public Principal() {
initComponents();
}
}// </editor-fold>
private void txt_codean14iActionPerformed(java.awt.event.ActionEvent evt) {
}
private void btn_gerarActionPerformed(java.awt.event.ActionEvent evt) {
CalculoCod calculo = new CalculoCod();
String codean13;
// codean13 = Integer.parseInt(txt_codean13.getText());
codean13 = (txt_codean13.getText());
calculo.calculoean(codean13);
}
Classe Calculo
public class CalculoCod extends Principal {
private double cod14;
int qtd_carac = 0;
String aux_qtd_carac ;
String cod = “” ;
String codigoean14i;
String codigoean14m;
public void calculoean(String cod13){
aux_qtd_carac = cod13;
qtd_carac = aux_qtd_carac.length();
String codcxiner = "3" + cod13;
String codcxmaster = "5" + cod13;
//Calculo EAN14 Caixa Iner
int somapar = Character.getNumericValue(codcxiner.charAt(0))+ Character.getNumericValue(codcxiner.charAt(2)) + Character.getNumericValue(codcxiner.charAt(4))
+ Character.getNumericValue(codcxiner.charAt(6))+Character.getNumericValue(codcxiner.charAt(8))+Character.getNumericValue(codcxiner.charAt(10))+Character.getNumericValue(codcxiner.charAt(12));
int somaimpar = Character.getNumericValue(codcxiner.charAt(1))+ Character.getNumericValue(codcxiner.charAt(3)) + Character.getNumericValue(codcxiner.charAt(5))
+ Character.getNumericValue(codcxiner.charAt(7))+Character.getNumericValue(codcxiner.charAt(9))+Character.getNumericValue(codcxiner.charAt(11));
int ean14 = (somapar *3) + somaimpar;
int digito = 10 -(ean14 % 10);
this.codigoean14i = codcxiner+Integer.toString(digito);
Basta fazer retornar Jovem!
//Ao invés do seu método ser void faça ele retornar a String do novo código
public String calculoean(String cod13) {
//Seus cálculos
return this.codigoean14i;
}
Aí a chamada ficaria assim:
seuField.setText(calculo.calculoean(codean13));
1 curtida
Hmm intendi, vou tentar aqui, ainda sou iniciante, por isso tenho algumas dificuldades ainda rsrs.
Consegui, era isso mesmo rsrs. Obrigado.