prÁticas com awt e swing

2 respostas
M

Gente, vocês me desculpem mas eu tô iniciando mesmo, e às vezes fico confuso com a forma de fazer as coisas. Eu já aprendi a fazer uma janela usando o pacote javax.swing, e extends JFrame, mas no método main, para fazer a janela aparecer eu já encontrei 3 modos de fazer, e eu não entendi ainda qual devo usar. Veja esse código simples:

import javax.swing.*;

public class MinhaJanela extends JFrame
{
    public MinhaJanela()
      {
         super("Título da Janela");
         setSize(280, 170);
         setVisible(true);
         setBackground(Color.gray);
      }

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

Mas, eu já encontrei também o final assim:

public static void main(String args [])
       {
          JFrame Janela = new MinhaJanela();
          Janela.show();
       }

E uma terceira maneira de fazer, encontrei o final assim:

public static void main(String args [])
       {
          MinhaJanela app = new MinhaJanela();
          app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       }

Vou aprendendo tudo que encontro, mesmo iniciante do zero, mas qual a diferença entre esses 3 modos de fazer, qual o melhor? Desculpem estar no básico do básico, mas pretendo avançar. Agradeço se alguém puder me esclarecer. Abraço, amigos.

Marco

2 Respostas

R
Na verdade o três métodos fazem a mesma coisa porém o método new MinhaJanela().show();  já encontra-se depreciado. Esse método já cria o objeto diretamente através de new. Já no segundo código

JFrame Janela = new MinhaJanela();

Janela.show();

ele cria um objeto Janela do tipo JFrame e depois chama o método show(); herdado de JFrame.

MinhaJanela app = new MinhaJanela();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Nesse código é criado um objeto app do tipo MinhaJanela e a operação padrão de JFrame para fechar a janela quando você clicar no ícone de fechamento.

M

Ao rabico,
Cara, entendi tudo o que você explicou. É que meu conhecimento de OOP e herança de classe ainda não é muito firme, mas sua explicação melhorou meu conhecimento sobre essa questão. Entendi que o cara cria um objeto para uma classe e usa um método dessa classe que faz uma ação qualquer. Sua explicação me fez entender assim. Mas, se você puder ajudar, como eu fico sabendo de todos os métodos que uma classe possui? Na Documentation do J2SE tem isso? Vou dar uma olhada.

Aquele terceiro caso talvez seja o mais indicado de se usar.

Valeu sua ajuda, amigo.
Marco

Criado 1 de maio de 2006
Ultima resposta 1 de mai. de 2006
Respostas 2
Participantes 2