interface gráfica em java

Embed Size (px)

Citation preview

Interface GrficaProf. Marcelo Cohen (material da Profa. Luciana Nedel)

1

Graphical User Interface (GUI) Existe uma infinidade de funcionalidades disponveis nas bibliotecas de classes Java, destinadas a prover a comunicao homem-mquina grfica. Os elementos bsicos necessrios para criar um GUI residem em dois pacotes: java.awt: Abstract Windowing Toolkit (classes bsicas); 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 so parte de um conjunto mais genrico de capacidades grficas, chamado de Java Foundation Classes, ou JFC. JFC suporta: definio de botes, menus, etc. desenho 2D (java.awt.geom) funcionalidades drag-and-drop (java.awt.dnd) API com acessibilidade a usurios (javax.accessibility)

Swing mais flexvel que java.awt porque implementada toda em Java, enquanto que java.awt implementada em cdigo 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("Ttulo 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 mtodo setDefaultCloseOperation:DISPOSE_ON_CLOSE - Destria a janela DO_NOTHING_ON_CLOSE - Desabilita opo HIDE_ON_CLOSE - Apenas fecha a janela4

2

Exerccios1) Teste a classe exemplo com os diferentes argumentos para o mtodo setDefaultCloseOperation(). 2) Faa um trecho de programa que anime uma janela, variando sua posio e tamanho.

5

Containers e componentes Uma interface grfica em Java baseada em dois elementos: containers: servem para agrupar e exibir outros componentes componentes: botes, labels, scrollbars, etc.

Dessa forma, todo programa que oferea uma interface vai possuir pelo menos um container, que pode ser: JFrame: janela principal do programa JDialog: janela para dilogos JApplet: janela para Applets

6

3

Containers e componentes Para construirmos uma interface grfica em JAVA, adicionamos componentes (Botes, Menus, Textos, Tabelas, Listas, etc.) sobre a rea da janela. Por essa razo a rea da janela um container, ou seja, um elemento capaz de armazenar uma lista de componentes.

7

Containers e ComponentesExemplo 2:import javax.swing.*; import java.awt.*; public class TestaContainer { public static void main (String args[ ]) { int i; JFrame janela = new JFrame("Ttulo da janela"); janela.setBounds(50, 100, 400, 150); // Seta posio e tamanho janela.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); FlowLayout flow = new FlowLayout(); // Define o layout container Container caixa = janela.getContentPane(); // Define o tamanho caixa.setLayout(flow); // Seta layout do container for (i=1; i