Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

JAVA: Duvidas de como substituir IF ELSE

Estou criando um projeto simples para treinar, se consiste em duas Classes "BoletosFOLHA" e "BoletosARAUJO" o que cada uma delas faz é somente imprimir se é folha ou Araujo segue código abaixo:

BoletosFOLHA:

public class BoletosFOLHA {

    public void emititBoleto(String produto) {
        if (produto.equals("FOLHA")) {
            System.out.println("FOLHA");
        } else {
        }
    }
}

BoletosARAUJO:

public class BoletosARAUJO {

    public void emititBoleto(String produto) {
        if (produto.equals("DROGARIA ARAUJO")) {
            System.out.println("ARAUJO");
        } else {

        }
    }
}

E tenho também um form com o JComboBOX "Produto" que seleciona somente as opções "FOLHA" e "ARAUJO" e o botão emitir

Form do boleto

Ao clicar no botão "Emitir" ele chama as duas classes e passa o valor selecionado no JComboBOX como paramento para as classes, e dependendo do que for selecionado ele executa nas classes, segue o código:

private void jB_emitirBoletoActionPerformed(java.awt.event.ActionEvent evt) {                                                
        BoletosFOLHA folha = new BoletosFOLHA();
        BoletosARAUJO araujo = new BoletosARAUJO();    
        folha.emititBoleto(jCB_produto.getSelectedItem().toString());
        araujo.emititBoleto(jCB_produto.getSelectedItem().toString());
    }

Estou querendo saber se é possível fazer de uma forma com que dependendo do que for selecionado, por exemplo "FOLHA", ele fazer somente o que esta na classe "BoletosFOLHA" e vice versa, sem usar if, porque caso precise adicionar novos nomes para selecionar não será necessário alterar o if todas as vezes que for adicionar ou remover um produto.

1 resposta
solução!

Boletos:

public class Boleto {

    public void emiteBoleto(String produto) {
        if (produto.equals("FOLHA")) 
            System.out.println("FOLHA");
            System.out.println("ARAUJO");
        }
    }     
}

Depois tenta isso:

private void jB_emitirBoletoActionPerformed(java.awt.event.ActionEvent evt) {                                                
       Boletos boleto = new Boletos();
       boleto.emiteBoleto(jCB_produto.getSelectedItem().toString());
    }

Se isso te ajudou marca como solucionado para ajudar mais pessoas.