Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Como criar uma janela usando JFrame

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Tutorial 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:

    Código:
    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.

    Código:
    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.

    Código:
            SimpleFrame sFrame1 = new SimpleFrame();
    	SimpleFrame sFrame2 = new SimpleFrame();
    Nesta duas linhas ele cria os objetos sFrame1 e sFrame2.

    Código:
    	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);
      }
    Código:
      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
    Last edited by RafaelVenancio; 18-12-2009, 20:24. Motivo: Prefixo.

  • Font Size
    #2
    Otimo tutorial!

    Como colocar um JOption.Pane dentro dessa janela?

    Comment

    X
    Working...
    X