JOptionPane

8 respostas
R

Pessoal, estou com um problema na captura da resposta do:

int i = JOptionPane.showConfirmDialog(this,“Deseja mesmo fechar o Aplicativo?”, “Java Hello World”, JOptionPane.YES_NO_OPTION);

if (i == JOptionPane.YES_OPTION) {

System.exit(0);

} else {}

Quando respondo Yes ele fecha e quando respondo No também,
o que acontece?

8 Respostas

carioca

Eu faco assim,

0 --> para sim
1 --> para nao

Object opcoes[] = {“Sim”,“Não”};
int op = JOptionPane.showInternalOptionDialog(this, “Você tem certeza que deseja sair do aplicativo?”,“Fechando aplicação”, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, opcoes, null);

if(op == 0){

//sim

}
else{

//nao

}

carioca

corrigindo, é só JOptionPane.showOptionDialog e nao showInternalOptionDilalog.

Falow…espero que de certo.

Frank

Cara,
também faço igual o carioca faz e acho que deve ser feito só daquele jeito. Tenta mudar o seu código pelo o do carica…

Falow.

R

Pessol meu código é o seguinte:

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;
public class HelloWorld extends JFrame {

protected JButton jlbHello;

protected Container container;
public HelloWorld(String titulo) {
	loadCadastro(titulo);
	
	addWindowListener(new WindowAdapter() {
		public void windowClosing(WindowEvent e) {
			sairCadastro();
		}
	});
}

private void loadCadastro(String titulo) {
	jlbHello = new JButton("Java Hello World");
	
	container = new Container();
	container = getContentPane();
	container.setLayout(new BorderLayout());
	container.add(jlbHello,BorderLayout.CENTER);
	
	this.setSize(400,300);
	this.setTitle(titulo);
	this.setVisible(true);
	
}

private void sairCadastro() {
	
	Object opcoes[] = {"Sim","Não"};
	int op = JOptionPane.showOptionDialog(this, "Você tem certeza que deseja sair do aplicativo?","Fechando aplicação", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, opcoes, null);

	if(op == 0){ 
		System.exit(0);
	} 
	else{ 
		
	}
}	
public static void main(String args[]) {
	HelloWorld h = new HelloWorld("Hello World");
}

}

quando escolho sim ele fecha tudo, quando escolho não, ele só não fecha a janela do dos, mas some a tela da aplicação, o que pode ser?

Obrigado.

R

no else, tente colocar o seguinte codigo:

JFrame.setDefaultClosingOperation&#40;JFrame.DO_NOTHING_ON_CLOSE&#41;;

veja se funciona…

falow

R

quando compilo aparece:

HelloWorld.java:46: cannot resolve symbol

symbol  : method setDefaultClosingOperation  (int)

location: class javax.swing.JFrame

JFrame.setDefaultClosingOperation(JFrame.DO_NOTHING_ON_CLOSE);

^

1 error
Bani

O nome do método é setDefaultCloseOperation, e não setDefaultClosingOperation.
Além disso, não é static, portanto tente utilizar

R

muito obrigado, funcionou

Criado 21 de julho de 2003
Ultima resposta 24 de jul. de 2003
Respostas 8
Participantes 5