Pessoal, meu programinha tem um método que lista todos os projetos…
A pessoa pode pedir pra listar por exemplo, um projeto, adicionar um novo projeto, e dessa vez listar todos os projetos.
O problema é que a cada novo projeto inserido, quando ela pede pra listar todos os projetos é uma nova janela do JOptionPane, por exemplo, tem um projeto no Arraylist, se ela pede para listar, aparece uma janela do JOptionPane listando esse projeto, agora, se ela inserir mais 3 projetos, aparece 4 janelas do JOptionPane listando todos esses projetos…
poderiam me ajudar pleeease
segue o código:
import java.util.ArrayList;
import javax.swing.JOptionPane;
import java.util.Iterator;
public class Agencia{
String dadosProjeto = "";
private ArrayList <Projeto> projetos;
public Agencia(){
projetos = new ArrayList<>();
}
public void inserirProjeto(){
String resposta = " ";
String titulo = JOptionPane.showInputDialog("Título do projeto: ");
double orcamento = Double.parseDouble(JOptionPane.showInputDialog("Orçamento do projeto: "));
String duracao = JOptionPane.showInputDialog("Duração do projeto(meses): ");
String instituicao = JOptionPane.showInputDialog("Insituição: ");
String areaPesq = JOptionPane.showInputDialog("Área relacionada a pesquisa: ");
int codProjeto = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto: "));
Projeto novoProjeto = new Projeto(titulo, orcamento, duracao, instituicao, areaPesq, codProjeto, resposta);
projetos.add(novoProjeto);
dadosProjeto += "********************************\nTítulo: " + titulo + "\nOrcamento: " + orcamento + "\nDuracao (meses): " + duracao + "\nInstituicao: " + instituicao + "\nÁrea de pesquisa: " + areaPesq + "\nCódigo do Projeto: " + codProjeto + "\nResposta: " + "\n\n********************************\n";
}
public void listarProjetos(){
for(int i = 0; i < projetos.size(); i++){
JOptionPane.showMessageDialog(null, dadosProjeto);
}
}
public void buscarProjeto(){
int buscaCod = Integer.parseInt(JOptionPane.showInputDialog("Código projeto: "));
for(Projeto projeto: projetos){
if(projeto.getCodProjeto() != buscaCod){
continue;
}
JOptionPane.showMessageDialog(null, "++++ PROJETO ENCONTRADO ++++\nTítulo: " + projeto.getTitulo() + "\nOrçamento: " + projeto.getOrcamento() + "\nDuração: " + projeto.getDuracao() + "\nInstituicao: " + projeto.getInstituicao() + "\nÁrea relacionada: " + projeto.getAreaPesq() + "\nCódigo Projeto: " + projeto.getCodProjeto() + "\nResposta: " + projeto.getResposta() + "\n\n\n ENTER para adicionar dados do novo projeto");
String titulo = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nTítulo: ");
double orcamento = Double.parseDouble(JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nOrçamento do projeto: "));
String duracao = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nDuração do projeto(meses): ");
String instituicao = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nInsituição: ");
String areaPesq = JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nÁrea relacionada a pesquisa: ");
int codProjeto = Integer.parseInt(JOptionPane.showInputDialog("======== ALTERAR DADOS DO PROJETO ENCONTRADO ========\n\nCódigo do projeto: "));
projeto.setTitulo(titulo);
projeto.setOrcamento(orcamento);
projeto.setDuracao(duracao);
projeto.setInstituicao(instituicao);
projeto.setAreaPesq(areaPesq);
projeto.setCodProjeto(codProjeto);
return;
}
}
public void buscaPorCodigo(){
int buscaCod = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto p/ remover: "));
for(int i = 0; i < projetos.size(); i++){
if(projetos.get(i).getCodProjeto() == buscaCod){
JOptionPane.showMessageDialog(null, "++++ PROJETO ENCONTRADO ++++\nTítulo: " + projetos.get(i).getTitulo() + "\nOrçamento: " + projetos.get(i).getOrcamento() + "\nDuração: " + projetos.get(i).getDuracao() + "\nInstituicao: " + projetos.get(i).getInstituicao() + "\nÁrea relacionada: " + projetos.get(i).getAreaPesq() + "\nCódigo Projeto: " + projetos.get(i).getCodProjeto() + "\nResposta: " + projetos.get(i).getResposta());
}
}
}
public void buscaRemove(){
int buscaCod = Integer.parseInt(JOptionPane.showInputDialog("Código do projeto p/ remover: "));
for(int i = 0; i < projetos.size(); i++){
if(projetos.get(i).getCodProjeto() == buscaCod){
projetos.remove(i);
JOptionPane.showMessageDialog(null, "Projeto removido.");
}
}
}
}
import javax.swing.JOptionPane;
public class AgenciaApp{
public static void main(String args[]){
int menu;
Agencia agencia = new Agencia();
do {
menu = Integer.parseInt(JOptionPane.showInputDialog("=-=-=-=-= AGENCIA DE PROJETOS =-=-=-=-=\n 1. Inserir um novo projeto;\n 2. Listar todos os projetos;\n 3. Atualizar a avaliação do projeto;\n 4. Excluir um projeto;\n 5. Listar um projeto pelo número; \n 6. Sair."));
if(menu == 1){
agencia.inserirProjeto();
}
if(menu == 2){
agencia.listarProjetos();
}
if(menu == 3){
agencia.buscarProjeto();
}
if(menu == 4){
agencia.buscaRemove();
}
if(menu == 5){
agencia.buscaPorCodigo();
}
if(menu == 6){
System.exit(0);
}
}while(menu != 1 || menu != 2 || menu != 3 || menu != 4);
}
}