Exit nÃo funciona!(resolvido)

13 respostas
precius
import java.awt.*;
import javax.swing.*;

public class AplicacaoGrafica extends Frame
{
  private Button butOK;
  private TextField campo1,campo2,resp;
  private Label texto1,texto2;

  public AplicacaoGrafica(){
   super("Aplicacao grafica simples");
   texto1  = new Label("Nome:"); 
   campo1  = new TextField(15);
   texto2  = new Label("Fone:"); 
   campo2  = new TextField(15);
   butOK   = new Button("OK"); 
   resp    = new TextField(15); 
   setLayout(new GridLayout(3,2));
   add(texto1); add(campo1);
   add(texto2); add(campo2);
   add(butOK);  add(resp); 
   pack();
  }

 public static void main(String args[])
 {
  AplicacaoGrafica ag=new AplicacaoGrafica();
  ag.show();
 }
}

13 Respostas

barney
precius:
import java.awt.*;
import java.awt.*;

public class AplicacaoGrafica extends Frame
{
  private Button butOK;
  private TextField campo1,campo2,resp;
  private Label texto1,texto2;

  public AplicacaoGrafica(){
   super("Aplicacao grafica simples");
   texto1  = new Label("Nome:"); 
   campo1  = new TextField(15);
   texto2  = new Label("Fone:"); 
   campo2  = new TextField(15);
   butOK   = new Button("OK"); 
   resp    = new TextField(15); 
   setLayout(new GridLayout(3,2));
   add(texto1); add(campo1);
   add(texto2); add(campo2);
   add(butOK);  add(resp); 
   pack();
  }

 public static void main(String args[])
 {
  AplicacaoGrafica ag=new AplicacaoGrafica();
  ag.show();
 }
}

qual o problema ?

zoren

Presumo que o exit que vc diz seja o X da janela?

se for vc tem q definir o defaultCloseOperation do Frame

precius

barney

quando executo esse codigo
ele miniza,maximiza,mas não fecha!!

R

Você está usando a classe Frame do AWT, para fechar a janela você terá de registrar um WindowListener através do método addWindowListener() e chamar System.exit() no método windowClosing() do WindowListener. O melhor é não usar Frame, use o JFrame do Swing e o método setDefaultCloseOperation() passando o parâmetro EXIT_ON_CLOSE.

precius

certo zoren tanbem pensei nisso!

realmente o codigo não tem o

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

bom o que não entendo e porquê ele miniza,maximiza, so não fecha?

barney

precius:
baney

quando executo esse codigo
ele miniza,maximiza,mas não fecha!!

setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true);

é uma parada assim
já que to sem o eclipse aqui e não se escrever o método de cabeça

cara tire aquilo ag.show

R

Está na documentação da classe Frame:

http://java.sun.com/javase/6/docs/api/java/awt/Frame.html

Frames are capable of generating the following types of WindowEvents:

* WINDOW_OPENED

* WINDOW_CLOSING:
If the program doesn’t explicitly hide or dispose the window while processing this event, the window close operation is canceled.
* WINDOW_CLOSED
* WINDOW_ICONIFIED
* WINDOW_DEICONIFIED
* WINDOW_ACTIVATED
* WINDOW_DEACTIVATED
* WINDOW_GAINED_FOCUS
* WINDOW_LOST_FOCUS
* WINDOW_STATE_CHANGED

precius

valeu pela ajuda pessoal!

ViniGodoy

A menos que você esteja desenvolvendo antes de 1996, não use AWT.

M

É tão simples… coloque um ‘J’ na frente dos nomes da classe e pronto! Você tem uma aplicação usando swing. Aí você terá à sua disposição a API atualizada para criar interface gráfica (e nela tem o método setDefaultCloseOperation, de JFrame, que resolverá seu problema).

precius

porquê não tipo quase todos os exemplos de interface grafica que eu vejo aqui no livro
tem o AWT !
no livro Use Acabeça java!

M

Isso não é bom. Mas se os exemplos do livro são em AWT, aproveite para passá-los para swing, como um exercício.

Porque não usar AWT?
http://www.guj.com.br/posts/list/70719.java
http://www.guj.com.br/posts/list/131334.java#707356
http://www.guj.com.br/posts/list/6352.java

Além disso, se você verificar a página do tutorial da Sun, vai perceber que sequer falam de AWT. O capítulo de interface gráfica chama-se:
Creating a GUI With JFC/Swing

Agora eu pergunto: porque usar AWT? Não faz sentido. Use swing.

precius

Isso não é bom. Mas se os exemplos do livro são em AWT, aproveite para passá-los para swing, como um exercício.

Porque não usar AWT?
http://www.guj.com.br/posts/list/70719.java
http://www.guj.com.br/posts/list/131334.java#707356
http://www.guj.com.br/posts/list/6352.java

Além disso, se você verificar a página do tutorial da Sun, vai perceber que sequer falam de AWT. O capítulo de interface gráfica chama-se:
Creating a GUI With JFC/Swing

Agora eu pergunto: porque usar AWT? Não faz sentido. Use swing.

valeu pela explicação!!

Criado 20 de janeiro de 2010
Ultima resposta 21 de jan. de 2010
Respostas 13
Participantes 6