What the application consists of: saves the result of a question (qtd hit and qtd error) strong> on another screen.
What the application is doing : Saves everything and only displays the result of the moment the application opens, it ignores everything that was saved before. for example: if I play, save and close the application it does not show my previous progress. I wanted it to show my progress from previous moves, like Figure 3.
problem: If I close the application and then run again, it disregards what it has and shows as if there is nothing in txt, ie it shows 0 hit and 0 error and still says it's the first move . wanted to show the number of previous moves and the correctness and error in each move.
home screen
Clickingonseeresultappearsthisscreen
WhatIwantedtoshowup
packageview;
importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;importjavax.swing.border.EmptyBorder;publicclassTelaExibirextendsJFrame{privateJPanelcontentPane;privateJTextAreatextArea;publicTelaExibir(){setFocusable(true);setUndecorated(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,285,164);contentPane=newJPanel();contentPane.setBorder(newEmptyBorder(5,5,5,5));setContentPane(contentPane);contentPane.setLayout(null);textArea=newJTextArea();JScrollPanescroll=newJScrollPane(textArea);scroll.setBounds(0,0,285,164);contentPane.add(scroll);setLocationRelativeTo(null);setResizable(false);}publicJTextAreagetTextArea(){returntextArea;}publicvoidsetTextArea(JTextAreatextArea){this.textArea=textArea;}}
packageview;
importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.ButtonGroup;importjavax.swing.JButton;importjavax.swing.JLabel;importjavax.swing.JRadioButton;publicclassTelaPainelextendsJFrame{privateJPanelcontentPane;privateJButtonbtVerResultado;privateJButtonbtFecharResultado;privateJButtonbtSalvarRespostas;privateButtonGroupgrupo;privateJRadioButtonradioDois;privateJRadioButtonradioUm;publicTelaPainel(){setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,450,300);contentPane=newJPanel();contentPane.setLayout(null);setContentPane(contentPane);btVerResultado=newJButton("ver resultado");
btVerResultado.setBounds(236, 156, 121, 23);
contentPane.add(btVerResultado);
btFecharResultado = new JButton("fechar resultado");
btFecharResultado.setBounds(236, 156, 121, 23);
btFecharResultado.setVisible(false);
contentPane.add(btFecharResultado);
btSalvarRespostas = new JButton("Salvar respostas");
btSalvarRespostas.setBounds(22, 156, 131, 23);
contentPane.add(btSalvarRespostas);
JLabel lblQueAnimal = new JLabel("Que animal \u00E9 esse?");
lblQueAnimal.setBounds(22, 45, 113, 14);
contentPane.add(lblQueAnimal);
radioUm = new JRadioButton("Cachorro");
radioUm.setBounds(26, 75, 109, 23);
contentPane.add(radioUm);
radioDois = new JRadioButton("Gato");
radioDois.setBounds(26, 113, 109, 23);
contentPane.add(radioDois);
grupo = new ButtonGroup();
grupo.add(radioUm);
grupo.add(radioDois);
setVisible(true);
}
public JButton getBtVerResultado() {
return btVerResultado;
}
public void setBtVerResultado(JButton brVerResultado) {
this.btVerResultado = brVerResultado;
}
public JButton getBtFecharResultado() {
return btFecharResultado;
}
public void setBtFecharResultado(JButton btFecharResultado) {
this.btFecharResultado = btFecharResultado;
}
public JButton getBtSalvarRespostas() {
return btSalvarRespostas;
}
public JRadioButton getRadioDois() {
return radioDois;
}
public void setRadioDois(JRadioButton radioDois) {
this.radioDois = radioDois;
}
public JRadioButton getRadioUm() {
return radioUm;
}
public void setRadioUm(JRadioButton radioUm) {
this.radioUm = radioUm;
}
public void setBtSalvarRespostas(JButton btSalvarRespostas) {
this.btSalvarRespostas = btSalvarRespostas;
}
}
package template;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
public class AlunoArquivo {
public static File arquivo = new File("exibir.txt");
static DadoResultadoAluno dra = new DadoResultadoAluno();
public static List<String> Read(String Caminho) {
List<String> conteudo = new ArrayList<>();
try {
FileReader arq = new FileReader(arquivo);
BufferedReader lerArq = new BufferedReader(arq);
String linha = "";
try {
while (linha != null) {
conteudo.add(linha);
linha = lerArq.readLine();
}
arq.close();
return conteudo;
} catch (IOException ex) {
System.out.println("Erro: Não foi possível ler o arquivo!");
}
} catch (FileNotFoundException ex) {
System.out.println("Erro: Arquivo não encontrado!");
}
return null;
}
public static boolean Write(String Texto) {
try {
if (!arquivoExiste()) {
arquivo.createNewFile();
System.out.println("not");
}
System.out.println("Yes");
FileWriter arq = new FileWriter(arquivo, true);
PrintWriter gravarArq = new PrintWriter(arq);
gravarArq.println(Texto);
gravarArq.close();
return true;
} catch (IOException e) {
System.out.println(e.getMessage());
return false;
}
}
public static void salvar(DadoResultadoAluno dra) {
String print = dra.getQtdAcertoPlanificacao() + ";" + dra.getQtdErroPlanificacao();
if (AlunoArquivo.Write(print)) {
System.out.println("Arquivo salvo com sucesso!");
} else {
System.out.println("Erro ao salvar o arquivo!");
}
}
public static boolean arquivoExiste() {
return arquivo.exists();
}
}
package template;
public class DadoResultadoAluno {
private int qtdAcertoPlanificacao = 0;
private int qtdErroPlanificacao = 0;
private int contVezesSalvar = 0;
public int getQtdAcertoPlanificacao() {
return qtdAcertoPlanificacao;
}
public void setQtdAcertoPlanificacao(int qtdAcertoPlanificacao) {
this.qtdAcertoPlanificacao = qtdAcertoPlanificacao;
}
public int getQtdErroPlanificacao() {
return qtdErroPlanificacao;
}
public void setQtdErroPlanificacao(int qtdErroPlanificacao) {
this.qtdErroPlanificacao = qtdErroPlanificacao;
}
public int getContVezesSalvar() {
return contVezesSalvar;
}
public void setContVezesSalvar(int contVezesSalvar) {
this.contVezesSalvar = contVezesSalvar;
}
}
package control;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import modelo.AlunoArquivo;
import modelo.DadoResultadoAluno;
import visao.TelaExibir;
import visao.TelaPainel;
public class ControleTelaPainel implements ActionListener {
private DadoResultadoAluno dra = new DadoResultadoAluno();
TelaExibir exibir = new TelaExibir();
private TelaPainel tp;
public ControleTelaPainel(TelaPainel tp) {
this.tp = tp;
this.tp.getBtFecharResultado().addActionListener(this);
this.tp.getBtVerResultado().addActionListener(this);
this.tp.getBtSalvarRespostas().addActionListener(this);
lerResultados(0);
}
public void lerResultados(int indice) {
List<String> linhas = AlunoArquivo.Read("exibir.txt");
if(linhas == null)
return;
dra.setQtdAcertoPlanificacao(Integer.parseInt(linhas.get(indice).split(";")[0]));
dra.setQtdErroPlanificacao((Integer.parseInt(linhas.get(indice).split(";")[1])));
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == tp.getBtFecharResultado()) {
this.tp.getBtVerResultado().setVisible(true);
this.tp.getBtFecharResultado().setVisible(false);
exibir.setVisible(false);
}
else if (e.getSource() == tp.getBtSalvarRespostas()) {
if (tp.getRadioUm().isSelected()) {
dra.setQtdAcertoPlanificacao(dra.getQtdAcertoPlanificacao() + 1);
} else if (tp.getRadioDois().isSelected()) {
dra.setQtdErroPlanificacao(dra.getQtdErroPlanificacao() + 1);
}
dra.setContVezesSalvar(dra.getContVezesSalvar()+1);
AlunoArquivo.salvar(dra);
}
else if (e.getSource() == tp.getBtVerResultado()) {
exibir.getTextArea().setText("Na " + dra.getContVezesSalvar() + " jogada você fez " + dra.getQtdAcertoPlanificacao() + " acertos" + " e "
+ dra.getQtdErroPlanificacao() + " tentativas erradas");
exibir.setVisible(true);
this.tp.getBtFecharResultado().setVisible(true);
this.tp.getBtVerResultado().setVisible(false);
}
}
}
package control;
import visao.TelaPainel;
public class Main {
public static void main(String[] args) {
ControleTelaPainel ctp = new ControleTelaPainel(new TelaPainel());
}
}