Iniciando com Java #2 – Criando uma janela com Swing

Swing – tá aí uma coisa que eu sempre ouvi falar e sempre tive curiosidade de saber como funciona. E agora que resolvi estudar Java, tive a oportunidade de conhecê-lo e vou compartilhar minhas experiências e estudos aqui.

Ô! Tô falando do Java Swing, não daquele swing seu pervertido. :P

O Swing é um framework Java usado para criar interfaces gráficas (GUIs). Com ele você pode criar janelas, botões, caixas de texto e uma série de outros widgets. Além disso, usando ele, você ganha uma interface consistente entre as múltiplas plataformas suportadas pelo Java.

Nos primeiros contatos com Swing, tive a impressão de que vou gostar de usá-lo para criar minhas interfaces. Achei ele muito simples e de fácil aprendizado.

Da Windou

Pois bem. Pra começar, vamos dar uma olhada no código necessário para criar a nossa janela:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import javax.swing.JFrame;

class MinhaJanela extends JFrame
{
    public MinhaJanela()
    {
        super ( "Hey, ho" );
       
        setSize( 400, 400 );
        setLocationRelativeTo( null );
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    }
}

class MeuPrograma
{
    public static void main( String args[] )
    {
        MinhaJanela janela = new MinhaJanela();

        janela.setVisible( true );
    }
}

Agora as coisas ficaram bem diferentes, né? super, import, extends… que diabos é isso?

Dissecando o código

Pra entender, vamos dar uma olhada linha por linha:

  • Linha 1import javax.swing.JFrame
    Diz ao compilador que seu programa precisa dos pacotes do swing. (Vou tentar explicar isso melhor em outro artigo)
  • Linha 3class MinhaJanela extends JFrame
    Quem está acostumado com PHP OO, sabe o que isso significa. Aqui, diz que a classe MinhaJanela estende a classe JFrame. Assim, a classe MinhaClasse pode acessar todos os métodos e variáveis da classe JFrame e, inclusive, sobrepor métodos.
  • Linha 5public MinhaJanela()
    Esse é o construtor da nossa classe. Assim como no PHP 4, construtores Java possuem o mesmo nome da classe.
  • Linha 7super ( "Hey, ho" );
    super pode ser usado para acessar métodos da super classe (a classe que foi estendida). No nosso caso, como fizemos um override do construtor, usamos super para chamar o construtor da super classe.
  • Linha 9setSize( 400, 400 );
    Linha 10setLocationRelativeTo( null );
    Linha 11setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    Essas são chamadas de métodos da classe JFrame. Observe que você não precisa usar this ou algo do tipo. Por exemplo, na linha 9 você poderia escrever isso…

    1
    this.setSize( 400, 400 );

    … e o resultado seria o mesmo.

  • Linha 19MinhaJanela janela = new MinhaJanela();
    Aqui declaramos a variável janela, que é do tipo MinhaJanela. Em Java, todas as variáveis precisam ter um tipo definido.
  • Linha 21janela.setVisible( true );
    Exibe nossa janela para o mundo. :D

Se ainda não o fez, compile o código e rode o programa. Uma janela deve aparecer no centro da tela, com o título “Hey, ho”.

Java + Swing = amor. Só digo isso.

Deixe um comentário

*

Antes de comentar, saiba que todos os comentários são moderados. Portanto, ofensas pessoais não serão toleradas. E, por favor, evite palavrões desnecessários.

As opiniões expostas nos comentários não refletem as do autor do blog.