Java
Prof. Marcelo Cohen
(material da Profa. Luciana Nedel)
1
Graphical User Interface (GUI)
• Existe uma infinidade de funcionalidades disponíveis nas bibliotecas de classes Java, destinadas a prover a comunicação homem-máquina gráfica.
• Os elementos básicos necessários para criar um GUI residem em dois pacotes:
– java.awt: Abstract Windowing Toolkit (classes básicas);
– javax.swing: Swing Components - fornece melhores alternativas aos componentes definidos na classe java.awt.
Exemplo: estudaremos a classe JButton do Swing no lugar da classe Button, do java.awt.
2
1
Graphical User Interface (GUI)
• As classes Swing são parte de um conjunto mais genérico de capacidades gráficas, chamado de Java Foundation Classes, ou JFC.
• JFC suporta:
– definição de botões, menus, etc.
– desenho 2D (java.awt.geom)
– funcionalidades drag-and-drop (java.awt.dnd)
– API com acessibilidade a usuários (javax.accessibility)
• Swing é mais flexível que java.awt porque é implementada toda em Java, enquanto que java.awt é implementada em código nativo.
3
Graphical User Interface (GUI)
Exemplo 1: import javax.swing.*; public class TestaJanela
{ // Objeto Janela public static void main (String args[])
{
static JFrame janela = new JFrame("Título da janela"); janela.setBounds(50, 100, 400, 150); // Seta posicao e tamanho janela.setDefaultCloseOperation( WindowConstants.
DISPOSE_ON_CLOSE);
janela.setVisible(true); // Exibe a janela
}
}
Argumentos do método setDefaultCloseOperation:
DISPOSE_ON_CLOSE - Destróia a janela
DO_NOTHING_ON_CLOSE - Desabilita opção
HIDE_ON_CLOSE - Apenas fecha a janela
4
2
Exercícios
1) Teste a classe exemplo com os diferentes argumentos para o método setDefaultCloseOperation().
2) Faça um trecho de programa que anime uma janela, variando sua posição e tamanho.
5
Containers e componentes
• Uma interface gráfica em Java é baseada em dois elementos:
– containers: servem para