Como criar uma janela usando JFrame

Bom pessoal, o codigo que postarei aqui eu retirei do livro Introduction to GUI with Java Swing, que comecei a ler.

Esta é primeira aplicaçao que colocarei aqui entre muitas outras que colocarei ao decorrer da leitura.

Ela é bem simples, a função dela é apenas mostrar uma janela simples na tela, sem componente nenhum.

Fiz uma pequena modificação para funcionar sem precisar criar o pacote, visto que ele estava dentro de um, package its.SimpleFrame;.

Segue o codigo:

import javax.swing.JFrame;

public class SimpleFrame extends JFrame
{
  public SimpleFrame()
  {
    this.setSize(200,200);
    this.setLocation(200,200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  //Makes the frame visible
  public void showIt() {
    this.setVisible(true);
  }

  //Makes the frame visible and sets the title text.
  public void showIt(String title){
        this.setTitle(title);
	this.setVisible(true);
  }

  //Makes the frame visible and sets the title text
  //and the position of the window

  public void showIt(String title,int x,int y){
    this.setTitle(title);
	this.setLocation(x,y);
	this.setVisible(true);
  }

  //Makes the frame invisible
  public void hideIt(){
    this.setVisible(false);
  }
}

O codigo acima é apenas um, vamos dizer assim, montador da janela. Atravez da proxima aplicação é que é executado o codigo acima.

public class SimpleFrameDriver
{
  public static void main(String[] args)
  {
        SimpleFrame sFrame1 = new SimpleFrame();
	SimpleFrame sFrame2 = new SimpleFrame();
	sFrame1.showIt("SimpleFrame 1");
	sFrame2.showIt("SimpleFrame 2",300,300);
  }
}

Bem, o que ele faz é bem simples. Ele cria varios metodos sobrecarregados. Isto quer dizer, metodo com nomes iguais porem que recebem argumentos diferentes.

        SimpleFrame sFrame1 = new SimpleFrame();
	SimpleFrame sFrame2 = new SimpleFrame();

Nesta duas linhas ele cria os objetos sFrame1 e sFrame2.

	sFrame1.showIt("SimpleFrame 1");
	sFrame2.showIt("SimpleFrame 2",300,300);

Nestas duas linhas ele chama os seguintes metodos showIt:

Código:
  public void showIt(String title){
    this.setTitle(title);
	this.setVisible(true);
  }
  public void showIt(String title,int x,int y){
    this.setTitle(title);
	this.setLocation(x,y);
	this.setVisible(true);
  }

Apesar do nome e do modificador de acesso e o retorno serem identicos, o parametro é diferente. Isso é diferente para o JVM, para ele, estes metodos nao sao iguais. O metodo hideIt() ele colocou no codigo apenas para falar ( no livro esta falando ) que se voce executar este metodo, o programa ainda continuara rodando. Ou seja, vamos dizer que voce tivesse um botao e ao clicar ele chamasse este metodo. O que iria acontecer é que o JFrame ficaria invisivel, mas nao fecharia. Se por acasso voce abrisse outro programa e fechasse novamente do mesmo modo, abrisse outro.. e assim por diante.. isto consumiria muita memoria. Para fechar um JFrame, tem que ser atravez do atributo setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);. Nao irei mostrar, apenas mencionar. No curso do neri vi que tem outros tipos de constantes estaticas (final static… Orientação a Objetos hein pessoal) igual a esta. Vamos dizer que seu programa tivesse um botao que abriria um novo JFrame. Se voce coloca o setDefault.. Isto fecharia todo o programa. Por isto, existe a constante DISPOSE_ON_CLOSE. Se por acaso alguem quiser ver um uso disso tudo que falei e nao mostrei, peça. Nao irei fazer o tutorial se nao tiver certeza que alguem ira ler ne… Bom, abaixo segue uma imagem da execução do codigo mostrado acima.

Qualquer duvida sobre o codigo aqui descrito, pergunte! Nao fique com medo de perguntar.

Espero que voces tenham gostado e ate a proxima.

Abraços

Ainda sem comentários

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.