Fechar a janela no "x"

17 respostas
L

não consigo fechar a janela no x coloquei um evento mas não funciona e não dá erro

esse codigo esta em outra classe

f.addWindowListener(new CloseWindowAndExit());

coloquei essa classe só para fazer o evento de fechar a janela

class CloseWindowAndExit extends WindowAdapter{

public void WindowClosing(WindowEvent e){

System.exit(0);

}

}

17 Respostas

J

Oi

lula, não fecha? Mas o X ja fecha direto, mesmo se tu não quiser…

Uma coisa, pra parar a JVM pode ser do jeito que tu fez, ou assim:

f.setDefaulCloseOperation(JFrame.EXIT_ON_CLOSE);

T+

L

ao clicar no x não acontece nada não fecha nem dá erro, é com se o botão x não funcionasse ou não existisse

J

Oi

:confuso: hummm… posta o código aí então.

T+

D

Se vc vai manter assim, tenta fazer um construtor da classe CloseWindowAndExit e nele uma chamada para o metodo WindowClosing.

:lol:

L

vou colocar o que fiz
esse é a classe faz um frame comum

import java.awt.*;
public class Frame4 extends Frame {
	
	public Frame4(){
		super("janela");
		setSize(200,300);
	}
	public static void main(String[] args) {
		Frame4 fr = new Frame4();
		fr.addWindowListener(new CloseWindowAndExit());
		fr.show();
	
	}
}

e esse é a classe para fechar a janela

import java.awt.event.*;
public class CloseWindowAndExit extends WindowAdapter{

	 public void WindowClosing(WindowEvent e){
	 	System.exit(0);
	 }
	
}

obrigado por me ajudar

[color=“red”]Editado para conter o BBCode CODE - jeveaux[/color]

S

axo q vc tem q adicionar 1 windowListener ai na classe q fecha a janela =)

D

putz lula… naum manjo nada de awt… pq vc naum muda pra swing?! Ficaria mais facil creio eu… eh soh fazer o q o Jeve escreveu q da certo:

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ps: Jeve tu esqueceu do t no Default

F

em awt a janela realmente n fecha automaticamente… creio q o erro esteja nesta parte:

public void WindowClosing(WindowEvent e){

lembre-se q java eh case sencitive, ou seja, letras maiusculas sao diferentes de letras minusculas… o ‘W’ de windowClosing tem q ser minusculo, muda pra isso:

public void windowClosing(WindowEvent e){

ai deve funcionar… :wink:

R

maldito case-sensitive

pra mim nenhuma linguagem devia ser case-sensitive

D

“microfilo”:
maldito case-sensitive

pra mim nenhuma linguagem devia ser case-sensitive

mto pelo contrário…

a linguagem fica mais poderosa sendo case-sensitive!

F

eh soh conhecer os padroes q vc n tem problemas com o case-sensitive…

M

“microfilo”:
maldito case-sensitive

pra mim nenhuma linguagem devia ser case-sensitive

D

Pra mim, linguagem q naum eh sensivel ao caso naum te moral… eh soh ver por exemplo: BASIC hauhaau, onde ja se viu a=A ??? Eh um absurdo! Heheheh

L

valeu pessoal mas acho que dei bobeira pois o windowClosing é um metódo por isso que tem a letra maiscula em java esse é o padrão
o case-sensitive nesse caso é muito bom

todo metodo começa com letra minuscula e o seu derivado com a letra maiscula já as classes começam com a letra maiscula

L

valeu pessoal mas acho que dei bobeira pois o windowClosing é um metódo por isso que tem a primeira letra minuscula, em java esse é o padrão seguido

o case-sensitive nesse caso é muito bom

todo metodo começa com letra minuscula e o seu derivado com a letra maiscula já as classes começam com a letra maiscula

L

valeu pessoal mas acho que dei bobeira pois o windowClosing é um metódo por isso que tem a primeira letra minuscula, em java esse é o padrão seguido

o case-sensitive nesse caso é muito bom

todo metodo começa com letra minuscula e o seu derivado com a letra maiscula já as classes começam com a letra maiscula

A

é temos que sempre prestar atenção nas letras maisculas e na acentuação que é o ó do borocodó … sempre dá erro

beijos

angel

Criado 4 de julho de 2004
Ultima resposta 8 de jul. de 2004
Respostas 17
Participantes 10