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.
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 1 –
import javax.swing.JFrame
Diz ao compilador que seu programa precisa dos pacotes do swing. (Vou tentar explicar isso melhor em outro artigo) - Linha 3 –
class 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 5 –
public MinhaJanela()
Esse é o construtor da nossa classe. Assim como no PHP 4, construtores Java possuem o mesmo nome da classe. -
Linha 7 –
super ( "Hey, ho" );
superpode ser usado para acessar métodos da super classe (a classe que foi estendida). No nosso caso, como fizemos um override do construtor, usamossuperpara chamar o construtor da super classe. - Linha 9 –
setSize( 400, 400 );
Linha 10 –setLocationRelativeTo( null );
Linha 11 –setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
Essas são chamadas de métodos da classe JFrame. Observe que você não precisa usarthisou algo do tipo. Por exemplo, na linha 9 você poderia escrever isso…1this.setSize( 400, 400 );… e o resultado seria o mesmo.
- Linha 19 –
MinhaJanela janela = new MinhaJanela();
Aqui declaramos a variáveljanela, que é do tipoMinhaJanela. Em Java, todas as variáveis precisam ter um tipo definido. - Linha 21 –
janela.setVisible( true );
Exibe nossa janela para o mundo.
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.