Com o propósito de ele pegar o valor digitado no txtNota e txtQtdeFaltas, calcula-se o resultado e retorna-se no txtStatus se o aluno esta aprovado ou reprovado.
Criei um botão resultado, e chamei o método neste botão, para quando fosse clicado executasse o método e para preencher o txtStatus.
Mas não está funcionando e aparentemente não aparece erro nenhum.
Estou muito longe do resultado?
E outra pergunta, também queria que o txtStatus ao trazer o resultado mudasse de cor, também tem como?
Opa, não sei si entendir direito seu problema, você quer ao clicar num possível botão esse método faça o calculo que você colocou e mostre o resultado?? em um textfild é isso???
brunoaquino
Sim!
No caso o Textfild seria o txtStatus.
A
Anderson_S
hum.. então acho que você pode tentar fazer isso, vou alterar seu método de calcularAprovados(), e fazer uma parada no seu botão de mostrar o resultdo.
MÉTODO DE CALCULAR ALTERADO
privateDesempenhocalcularAprovados(){try{doublenota=Double.parseDouble(txtNota.getText());intfaltas=Integer.parseInt(txtQtdeFaltas.getText());Stringresultado=(txtStatus.getText());if(nota>=60&&faltas<10){resultado="Aprovado";}else{resultado="Reprovado";}Desempenhodesem=newDesempenho();desem.setStatus(resultado);returndesem;// retorna o objeto}catch(Exceptione){}}
POSSÍVEL BOTÃO
...............................................
Desempenho des = this.calcularAprovados() ;
String status = des.getStatus()// CONSIDERANDO QUE NA SUA CLASSE DESEMPENHO TENHA O MÉTODO GETSTATUS()
seuTextFieldStatus.setText(status); // SETANDO O VALOR NO SEU TEXTFIELD
..................................................
Eu faria de outra forma... Para mim, quem deve falar se o aluno está aprovado ou reprovado é a classe Desempenho.
Então vc configuraria tanto a nota, quanto a quantidade de faltas, e então chamaria o getStatus. Outra coisa, não faz muito sentido ter uma classe Desempenho se você não for amarrar ela a algum aluno (vc já deve ter feito isso...).
publicclassDesempenho{privatedoublenota;privateintfaltas;publicvoidsetNota(doublenota){this.nota=nota;}publicdoublegetNota(){returnnota;}publicvoidsetFaltas(intfaltas){this.faltas=faltas;}publicintgetFaltas(){returnfaltas;}publicStringgetStatus(){if(nota>=60&&faltas<10){return"Aprovado";}else{return"Reprovado";}}}// na sua classe de GUI...privatevoidcalcularAprovados(){try{Desempenhodesem=newDesempenho();desem.setNota(Double.parseDouble(txtNota.getText()));desem.setFaltas(Integer.parseInt(txtQtdeFaltas.getText()));seuCampoDeStatus.setText(desem.getStatus());}catch(NumberFormatExceptione){}}
[]´s
brunoaquino
O Jeito do davidbuzatto deu certinho!
Minha tabela Desempenho é amarrada com Matricula, só realizo o desempenho de alunos matriculados.
E se eu quiser mudar a cor do TextFiled dependendo do resultado???
Por exemplo, se for aprovado muda para Verde, reprovado muda para Vermelho.
A
Anderson_S
brunoaquino:
missing return statement ...
Da problema no retorno.
Opa, eu fiz testa esses códigos aqui agora... acho que vai dar certo...
então vc deve melhorar para realizar o que vc quer...
(Calcular Média, não está implementado nesse código.)
faça o que bem entender!
abrxx
brunoaquino
Pessoal Obrigado pela ajuda!
Já funcionou do jeito que eu queria com a ajuda do david buzatto ai em cima.
Só queria saber agora como eu mudo a cor do TextFiel (txtStatu) ??
Por exemplo, Verde = Aprovado e Vermelho = Reprovado.
L
lokits5
ve se ajuda isso!
if (seu txt .getText().equals("")){
/*seta o background para vermelho reprovado*/
seu txt .setBackground(Color.RED);
}esle{
/*seta o background para verde aprovado*/
seu txt .setBackground(Color.GREEN);
não sei se vai servir isso!
davidbuzatto
Use o método setForeground( java.awt.Color ) herdado de JComponent para mudar a cor do texto.
// new Color( vermelho, verde, azul )seuTextField.setForeground(newColor(0,190,0));// ouseuTextField.setForeground(Color.GREEN);
O método setBackground muda a cor do fundo do componente.