Tenho uma classe principal Jantinha006 e um classe Interface onde faço uma tela com JFrame.
Tenho um método que altera o valor das porções (Arroz, carne, salada) e outro para alterar a quantidade. Quando marco a checkbox (classe interface) “chamaPratoInicial” ele funciona corretamente, mas quando desmarco ele e tento alterar a quantidade das porções não funciona. (tem a matriz completa pratosIniciais, retirei o resto dela para ficar mais objetivo
public class Jantinha006 {
static int[] vetorC = {1,3,2};
static int[][] matrizP = new int[3][3];
public static void pratosIniciais() {
matrizP[0][0] = 2;
matrizP[0][1] =.......
public static void criarPrato(int prato, int qntArroz, int qntCarne, int qntSalada){
matrizP[prato][0] = qntArroz;
matrizP[prato][1] = qntCarne;
matrizP[prato][2] = qntSalada;
}
public static void alteraValorPrato (int prato, int valorArroz, int valorCarne, int valorSalada) {
if (valorArroz < 0 || valorCarne < 0 || valorSalada < 0) {
JOptionPane.showMessageDialog(null,"Valor não pode ser negativo!", "Erro no valor!", 2);
} else {
vetorC[0] = valorArroz;
vetorC[1] = valorCarne;
vetorC[2] = valorSalada;
}
}
public static double calcularValorPrato(int prato) {
double soma = 0;
for (int porcao = 0; porcao < 3; porcao++) { //variavel porcao = uma hora e arroz, depois carne e por fim salada;
soma += matrizP[prato][porcao] * vetorC[porcao];
}
return soma;
}
}
PARTE da outra classe
public class Interface extends javax.swing.JFrame {
Jantinha006 valorPrato = new Jantinha006();
Jantinha006 pratoPadrao = new Jantinha006();
private void botaoCalcularActionPerformed(java.awt.event.ActionEvent evt) {
String saida = " ";
if (!chamaPratoInicial.isSelected()) {
try {
valorPrato.pratosIniciais();
saida += "\nValor do prato 1 R$ " + valorPrato.calcularValorPrato(0);
saida += "\n\nValor do prato 2 R$ " + valorPrato.calcularValorPrato(1);
saida += "\n\nValor do prato 3 R$ " + valorPrato.calcularValorPrato(2);
mostraTexto.setText(saida);
} catch (Exception erro) {
recebeQuantidadeArroz.setText("");
recebeQuantidadeCarne.setText("");
recebeQuantidadeSalada.setText("");
JOptionPane.showMessageDialog(null, "Marque a opção pratos iniciais ou defina a quantidade de cada porção!", "Selecione uma Opcão!", 2);
}
}
else {
valorPrato.criarPrato(0,
Integer.parseInt(recebeQuantidadeArroz.getText()),
Integer.parseInt(recebeQuantidadeCarne.getText()),
Integer.parseInt(recebeQuantidadeSalada.getText()));
saida += "\nValor do prato personalidado R$ " + valorPrato.calcularValorPrato(0);
}
}