Erro para fechar uma JDialog

4 respostas
dm_thiago

Esse Dialog está apresentando um erro irritante. Quando se clica em fechar, não acontece nada. E eu coloquei para que quando se clicasse em fechar ela fechasse o programa inteiro. Alguem tem alguma idéia do que pode ser?
O código:

import java.awt.*;
import javax.swing.*;


public class LimiteNovoProjeto extends JDialog {
 
	
	private static final long serialVersionUID = 1L;
	private JButton aBotaoNovoProjeto;	 
	private JButton aBotaoProjetoExistente;	 
	private JComboBox aListaDeProjetos;
	private ControleNovoProjeto aControleNovoProjeto;
	 
	
	/**
	 * Construtor da classe 
	 */
	public LimiteNovoProjeto (ControleNovoProjeto pControleNovoProjeto) 
	{
		aControleNovoProjeto = pControleNovoProjeto;
		GridBagLayout tLayout = new GridBagLayout();
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setLayout(tLayout);
		this.setModal(true);
	}
	
	
	/**
	 * Método para configurar os botões
	 */
	public void setButtons() 
	{
		aBotaoNovoProjeto = new JButton("Novo Projeto");
		aBotaoProjetoExistente = new JButton ("Carregar Projeto");
	}
	
	
	/**
	 * Configura aListaDeProjetos com todos os projetos já criados através do método getListaProjetos() da classe ControleNovoProjeto
	 */
	public void setComboBox() 
	{
		aListaDeProjetos = new JComboBox(aControleNovoProjeto.getListaProjetos());
	}
	
	
	/**
	 * Método para configurar a dialog. Chama os métodos setButtons() e setComboBox()
	 */
	public void setDialog() 
	{
		this.setComboBox();
		this.setButtons();
		this.setTitle("Criar um novo projeto ou carregar um existente");
		
		Dimension dim = new Dimension (300,30);
		aBotaoNovoProjeto.setPreferredSize(dim);
		aListaDeProjetos.setPreferredSize(dim);
		aBotaoProjetoExistente.setPreferredSize(dim);
		
		this.add(aBotaoNovoProjeto, new GridBagConstraints (0,0,1,1,0,0, GridBagConstraints.CENTER, GridBagConstraints.CENTER, new Insets(0,0,10,0),0,0));
		this.add(aListaDeProjetos, new GridBagConstraints (0,1,1,1,0,0, GridBagConstraints.CENTER, GridBagConstraints.CENTER, new Insets(30,0,0,0),0,0));
		this.add(aBotaoProjetoExistente, new GridBagConstraints (0,2,1,1,0,0, GridBagConstraints.CENTER, GridBagConstraints.CENTER, new Insets(10,0,0,0),0,0));
	}
	 
	
	/**
	 * Método para mostrar a dialog. Chama o método setDialog e depois mostra a tela.
	 */
	public void showDialog() 
	{
		this.setDialog();
		this.setBounds(300,300,400,250);
		this.setVisible(true);
	} 
}

Qualquer erro identificado, por favor avisem, principalmente quanto ao problema citado acima e quanto ao javadoc.

4 Respostas

lina

Oi,
não consegui rodar a classe,
qual erro esta dando?

Tchauzin!

dm_thiago

Lina, quando se clica no “X” lá em cima para fechar, nada acontece. Não consigo entender o porque disso. Tens alguma idéia de qual pode ser o motivo?

dm_thiago

Ah! E para rodar a classe é só criar uma instancia dela e dar showDialog().

dm_thiago

Estranhamente eu consegui. Só troquei o this.setDefaultCloseOperation(EXIT_ON_CLOSE) por this.setDefaultCloseOperation(this.EXIT_ON_CLOSE). Com isso apareceu uma warning, mas pelo menos funcionou.

Criado 26 de abril de 2007
Ultima resposta 26 de abr. de 2007
Respostas 4
Participantes 2