Você está na página 1de 4

ISUTC – Programação II 2016 Mujhahid Abdul Karim

Versão 0.3

Programação II Interfaces em Java: Biblioteca AWT & Swing

Ficha(s) Pratica(s) 12

Neste capítulo ira-se falar de bibliotecas que permite criar programas com interface gráfica. O Java
possui 2 bibliotecas gráficas: AWT e SWING, a primeira a ser inventada foi o AWT e a SWING vem
depois para melhorar o AWT desta forma estendendo as classes do AWT conseguindo melhorar a
aparência, o tratamento de eventos e muitos outros recursos. Todos os componentes do SWING
podem ser importados a partir do pacote javax.swing.

Como o SWING é um melhoramento do AWT, durante a criação das janelas deve ter atenção que
quando estiver a usar componentes do SWING sempre terá um “J” antes do nome do componente,
exemplo: JButton, JLabel, JTextField. Enquanto os componentes de AWT tem o mesmo nome
mais sem o “J” ficando Button, Label e TextField.

Durante as aulas iremos trabalhar com a biblioteca SWING devido a esta biblioteca ser a ultima
atualizada e estável.

JFrame
Um JFrame é visto como uma janela que contem as opções de minimizar, maximizar e fechar a
mesma. Veja a imagem abaixo:

Para criarmos a primeira janela devemos criar uma classe convencional com um construtor sem
parâmetros. Dentro do construtor é onde deve-se indicar as características do JFrame, neste capitulo
ira se abordar as características fundamentais para a criação de um JFrame:

1
ISUTC – Programação II 2016 Mujhahid Abdul Karim
Versão 0.3

package GUI;

import javax.swing.JFrame;

public class FirstFrame {

private JFrame jf;

public FirstFrame()
{
jf = new JFrame();
jf.setTitle("Minha Primeira Janela."); //(1)
jf.setSize(350,150); //(2)
jf.setLocation(50,50); //(3)
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //(4)
jf.setVisible(true); //(5)
}
}

1. Título da janela;
2. O tamanho da janela;
3. O posicionamento da janela no ecrã;
4. Dar acção ao botão fechar do JFrame; veja os tipos de acções na sessão “Entendendo o
setDefaultCloseOperation()”

5. Dar visibilidade a janela e muitos outros.

E finalmente cria-se o método main e dentro do método main faz-se a chamada da classe que tem o
JFrame, ficando assim:

package GUI;

public class ArrancaPrimeiraJanela {


public static void main(String[] args) {
new FirstFrame();
}
}

Entendendo o setDefaultCloseOperation()
O método setDefaultCloseOperation() foi criado para definir que ao fechar uma janela, esta
mesma janela deve obedecer umas das seguintes regras que o programador irá escolher:
JFrame.EXIT_ON_CLOSED – Encerra-se a aplicação;
JFrame.HIDE_ON_CLOSE – A janela apenas será escondida e o processo continuará rodando na JVM.
JFrame.DISPOSE_ON_CLOSE – Destrói a janela sem encerrar a aplicação, caso essa janela não seja a
principal.

2
ISUTC – Programação II 2016 Mujhahid Abdul Karim
Versão 0.3

Componentes sobre o JFrame


Para adicionar um componente dentro do JFrame basta criar e instanciar um botão dando um nome
ao botão e de seguida adicionar ao JFrame.

Veja o código abaixo, foram acrescentadas as linhas a negrito.


package GUI;

import javax.swing.JButton;
import javax.swing.JFrame;

public class FirstFrame {

private JFrame jf;


private JButton jb;

public FirstFrame()
{
jf = new JFrame();
jb = new JButton("Submeter");
jf.setTitle("Minha Primeira Janela.");
jf.setSize(350,150);
jf.setLocation(50,50);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(jb);
jf.setVisible(true);
}
}
Ate agora apenas criou-se um botão, se notar esse botão ira ocupar o seu JFrame inteiro, isso
acontece porque não foi definido nenhum LAYOUT para o JFrame, mais isso é um assunto para a
próxima aula, por enquanto apenas podemos ter um componente de cada vez na tela a ser
visualizado.

Exercícios
1. Crie um projeto novo no eclipse e dentro dele crie um pacote chamado IG. Crie uma janela com
características a sua escolha deste que a janela tenha dimensão de 400 por 200. Crie também
um bloco de texto “Bem-vindo na minha primeira Janela.” Dica: Investigue como usar o
JLabel.

3
ISUTC – Programação II 2016 Mujhahid Abdul Karim
Versão 0.3

2. Crie um outro JFrame com as mesmas características do exercício anterior, agora investigue
como usar uma caixa de texto. Dica: Investigue o JTextField.

--- FIM DO DOCUMENTO ---

Você também pode gostar