TRABALHO
Grupo de Linguagens de Programação - DI/PUC-Rio
Programação Java
Construção de Interface gráfica
Grupo de Linguagens de Programação
Departamento de Informática
PUC-Rio
Processo Básico:
OO + Eventos q Instanciar os componentes de interface
q
Adicionar os componentes em containers
– por exemplo, janelas, botões, campos de textos, etc
– por exemplo, como os componentes podem ser agrupados e qual o layout de diagramação q Estabelecer o tratamento de eventos de interface
– por exemplo, o que deve ocorrer quando o usuário clicar um botão ou como alterar o conteúdo de um componente quando um outro sofre alguma alteração
2
Exemplo
3
1
Programação Java
Grupo de Linguagens de Programação - DI/PUC-Rio
Exemplo
import java.awt.event.*; import javax.swing.*;
public class JanelaSimples { public JanelaSimples() {
/* Cria o botão */ final JButton botaoLimpa = new JButton("Limpa");
/* Cria o campo de texto */ final JTextField campoTexto = new JTextField(10);
/* Cria uma janela */ final JFrame janela = new JFrame ("Janela Simples"); janela.setSize(300,100); /* Adiciona os componentes na janela */
JPanel painel = new JPanel();; painel.add (botaoLimpa); painel.add (campoTexto); janela.getContentPane().add(painel); /* Quando o usuário clicar no botao, limpa o campo de texto */ botaoLimpa.addActionListener (new ActionListener() { public void actionPerformed (ActionEvent e) { campoTexto.setText(""); }});
/* Exibe a janela */ janela.setVisible(true); }
}
4
Hierarquia de Composição q Componente
q
Container
– qualquer elemento de interface
– é um Componente
– agrega Componentes
Componente is-a contains
Container
5
Exemplo
JFrame
janela contains Container content pane contains JPanel painel contains
contains
JButton botaoLimpa JTextField campoTexto 6
2
Programação Java
Grupo de Linguagens de Programação - DI/PUC-Rio
Elementos