Estou com uma duvida para encerrar a execução de uma janela.No caso, eu tenho uma janela principal na qual estou trabalhando, e quando eu clico em um outro botao ela abre outra janela com uma Jlist.
Beleza até ai funciona.Agora eu quero saber como que eu faço para encerrar por completo a execução daquela janela depois que o usuario selecionar o item na JList.
Eu quero que somente a janela principal continue executando.
Eu o setVisisblit(false) meu sei que ele só ocult.
Já.Ele até fecha a janela, mas ele só fecha a janela.Quando eu aperto no botão pra abrir ela de novo, a antiga janela ainda continua lá.Elas ficam se “acumulando”
packageView;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.File;importjava.util.ArrayList;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFileChooser;importjavax.swing.JFrame;importjavax.swing.JOptionPane;importjavax.swing.JScrollPane;publicclassBotoesextendsJFrameimplementsActionListener{privateJButtonbotaoAbrirCSV,botaoSalvarCSV,botaoFechar,botaoImportarTabelaBanco,botaoAdd,botaoDelete,botaoDaJlist;privatestaticInterfaceinterfaceGrafica;privateListaGraficaminhaLista;privateContainerPopUp;publicArrayList<JButton>listaDeBotoes(){ArrayList<JButton>botoes=newArrayList<JButton>();botaoAbrirCSV=newJButton();botaoSalvarCSV=newJButton();botaoFechar=newJButton();botaoImportarTabelaBanco=newJButton();ImageIconicone1=newImageIcon(getClass().getResource("Icones/abrir.png"));botaoAbrirCSV.setIcon(icone1);botaoAbrirCSV.setText("Abrir um arquivo CSV");ImageIconicone2=newImageIcon(getClass().getResource("Icones/salvar.png"));botaoSalvarCSV.setIcon(icone2);botaoSalvarCSV.setText("Salvar o arquivo CSV");ImageIconicone3=newImageIcon(getClass().getResource("Icones/fechar.png"));botaoFechar.setIcon(icone3);botaoFechar.setText("Fechar Aplicação");ImageIconicone4=newImageIcon(getClass().getResource("Icones/abrirBanco.png"));botaoImportarTabelaBanco.setIcon(icone4);botaoImportarTabelaBanco.setText("Abrir tabela do banco");botoes.add(botaoAbrirCSV);botoes.add(botaoSalvarCSV);botoes.add(botaoImportarTabelaBanco);botoes.add(botaoFechar);botaoAbrirCSV.addActionListener(this);botaoSalvarCSV.addActionListener(this);botaoFechar.addActionListener(this);botaoImportarTabelaBanco.addActionListener(this);returnbotoes;}publicJButtonbotaoADD(){botaoAdd=newJButton();botaoAdd.setText("Adicionar");botaoAdd.addActionListener(this);ImageIconicone=newImageIcon(getClass().getResource("Icones/adicionar.png"));botaoAdd.setIcon(icone);botaoAdd.setText("Adicionar linha");returnbotaoAdd;}publicJButtonbotaoDelete(){botaoDelete=newJButton();botaoDelete.setText("Delete");botaoDelete.addActionListener(this);ImageIconicone=newImageIcon(getClass().getResource("Icones/excluir.png"));botaoDelete.setIcon(icone);botaoDelete.setText("Excluir linha");returnbotaoDelete;}publicJButtonbotaoDaJList(){botaoDaJlist=newJButton();botaoDaJlist.addActionListener(this);ImageIconicone=newImageIcon(getClass().getResource("Icones/escolher.png"));botaoDaJlist.setIcon(icone);botaoDaJlist.setText("Abrir Tabela");returnbotaoDaJlist;}publicvoidacaoBotaoImportarDoBanco(){minhaLista=newListaGrafica();minhaLista.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);PopUp=getContentPane();PopUp.setLayout(newFlowLayout(FlowLayout.LEFT));PopUp.add(newJScrollPane(minhaLista.mostraLista()));PopUp.add(botaoDaJList());PopUp.setVisible(true);this.setVisible(true);this.setName("Escolher Tabela do banco");this.setSize(300,200);}publicvoidacaobotaoAbrirCSV(){JFileChooserescolhedorDeArquivo=newJFileChooser();StringcaminhoProdutoSelecionado=newString();try{escolhedorDeArquivo.setDialogTitle("Procurar o seu arquivo CSV");escolhedorDeArquivo.showOpenDialog(escolhedorDeArquivo);ExtensionFileFilterfilter=newExtensionFileFilter("csv",newString[]{"csv"});escolhedorDeArquivo.setFileFilter((javax.swing.filechooser.FileFilter)filter);escolhedorDeArquivo.setFileFilter(null);caminhoProdutoSelecionado=escolhedorDeArquivo.getSelectedFile().getPath();}catch(NullPointerExceptione){JOptionPane.showMessageDialog(null,"Escolha o arquivo que deseja abrir!");}catch(Exceptione){JOptionPane.showMessageDialog(null,"O Arquivo deve possuir a extensão CSV!");}System.out.println(caminhoProdutoSelecionado);}publicvoidacaobotaoSalvarCSV(){Filecaminho;JFileChooserfileChooser=newJFileChooser();fileChooser.setSelectedFile(newFile("teste.csv"));if(fileChooser.showSaveDialog(this)!=JFileChooser.CANCEL_OPTION){caminho=fileChooser.getSelectedFile();}else{caminho=null;}StringURL=caminho.toString();System.out.println(URL);}//fim do metodopublicvoidacaobotaoFechar(){System.exit(0);}publicvoidacaoBotaoAdd(){interfaceGrafica.getMinhaTabela().adicionaLinha();}publicvoidacaoBotaoDelete(){interfaceGrafica.getMinhaTabela().deletaLinha();}publicvoidacaoBotaoDaJList(){System.out.println(minhaLista.retornaIndiceSelecionado());minhaLista=null;PopUp=null;this.dispose();}publicvoidactionPerformed(ActionEventevt){if(evt.getSource()==this.botaoAbrirCSV){acaobotaoAbrirCSV();}elseif(evt.getSource()==this.botaoFechar){acaobotaoFechar();}elseif(evt.getSource()==this.botaoAdd){acaoBotaoAdd();}elseif(evt.getSource()==this.botaoDelete){acaoBotaoDelete();}elseif(evt.getSource()==this.botaoSalvarCSV){acaobotaoSalvarCSV();}elseif(evt.getSource()==this.botaoImportarTabelaBanco){acaoBotaoImportarDoBanco();}elseif(evt.getSource()==this.botaoDaJlist){acaoBotaoDaJList();}}publicstaticvoidmain(String[]args){interfaceGrafica=newInterface();interfaceGrafica.criaInterface();}}
classe listagrafica
/* Este exemplo mostra como criar uma JList e obter o índice do item selecionado. Se nenhum item estiver selecionado, o valor -1 é retornado.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ListaGrafica extends JFrame{ JList lista; public int ListaGrafica() { Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria a JList lista = new JList(nomes); // Define a seleção única para a lista lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // Um botão que permite obter o índice do item selecionado JButton btn = new JButton("Obter índice selecionado"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int indice = lista.getSelectedIndex(); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}// fim da classe*///***********************************************************************/* Este exemplo mostra como criar uma JList e obter o índice do item selecionado. Se nenhum item estiver selecionado, o valor -1 é retornado.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ListaGrafica extends JFrame{ JList lista; public int ListaGrafica() { Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria a JList lista = new JList(nomes); // Define a seleção única para a lista lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // Um botão que permite obter o índice do item selecionado JButton btn = new JButton("Obter índice selecionado"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int indice = lista.getSelectedIndex(); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}// fim da classe*///***********************************************************************
D
DarkLouis
Marcelo;
Cara eu tambem estou com um problema parecido com você…
Minha janela abre e depois eu fecho ela.Quando eu abro ela de novo, ela está “duplicando” tambem