Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Linguagem de Programação III
Profa. Cintia Carvalho Oliveira Ba. Ciência da Computação - UFJF Mestre em Ciência da Computação - UFU
2
Interface Gráfica GUI – Graphical User Interface
Java possui duas bibliotecas gráficas: AWT (Abstract Window Toolkit) Swing Utilizaremos a biblioteca javax.swing
3
import javax.swing.JFrame; //importação da classe JFrame
public class PrimeiroSwing { JFrame janela = new JFrame(); //criamos um JFrame chamado 'janela' public static void main (String args[]){ new PrimeiroSwing(); } private PrimeiroSwing(){ janela.setTitle("Primeira Aplicação Gráfica"); //definimos o título da janela janela.setSize(350, 150); //definimos a largura e a altura da janela janela.setLocation(50, 50); //define a posição da janela na tela janela.setDefaultCloseOperation(JFrame.EXIT_ON_C LOSE); //define que ao fechar a janela, encerre a aplicação janela.setVisible(true); //mostramos a janela
4
Centralizar a janela Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize(); int x = (d.width/ 2 ) – (350/2); int y = (d.height/2) – (150/2); Janela.setLocation(x, y);
5
Criando um botão Depois da definição do Jframe
JButton botao = new JButton("OK"); Dentro do JFrame, após a configuração do fechamento: janela.add(botao);
6
Layout e fechamento O botão ocupou todo o espaço do JFrame pois não possui um layout. O método setDefautCloseOperation() foi usado para o fechamento da janela: (JFrame.EXIT_ON_CLOSE) – encerra a aplicação (JFrame.HIDE_ON_CLOSE) – esconde a janela (JFrame.DISPOSE_ON_CLOSE) – destroi a janela mas a aplicação continua
7
Gerenciadores de Layout
A GUI é formada por componentes que chamamos de contêineres: FlowLayout, GridLayout, BorderLayout e CardLayout Caso não tenha um gerenciador, o objeto inserido considera todo o contêiner como uma única célula.
8
FlowLayout O mais simples.
Componentes dispostos da direita para a esquerda.
9
import java. awt. FlowLayout; import javax. swing
import java.awt.FlowLayout; import javax.swing.*; public class ExemploFlowLayout { JFrame janela = new JFrame(); //criamos e instaciamos um JFrame chamado 'janela' JPanel painel = new JPanel(); //criamos um JPanel chamado painel JLabel rotulo = new JLabel("Seu nome: "); //criamos um JLabel chamado rotulo e com o texto "Seu nome: " JTextField texto = new JtextField(5); //criamos um JTextField chamado texto com o tamanho 5 JButton botao = new JButton("OK"); //criamos e instanciamos um JButton chamado 'botao' e com o texto "OK" public static void main (String args[]){ new ExemploFlowLayout(); }
10
private ExemploFlowLayout(){ janela
private ExemploFlowLayout(){ janela.setTitle("Exemplo de um FlowLayout"); //definimos o título da janela janela.setSize(300, 100); //definimos a largura e a altura da janela janela.setLocation(50, 50); //define a posição da janela na tela janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); //define que ao fechar a janela, encerre a aplicação painel.setLayout(new FlowLayout(FlowLayout.CENTER, 30, 20)); //definimos o layout do painel painel.add(rotulo); //adicionamos o rotulo ao painel painel.add(texto); //adicionamos o texto ao painel painel.add(botao); //adicionamos o botao ao painel janela.add(painel); //adicionamos o painel à janela //mostramos a janela janela.setVisible(true); }
11
GridLayout É um gerenciador que divide o contêiner em um conjunto de células de mesma dimensão. A ordem de exibição é de acordo com a ordem de inserção. nome-do-conteiner.setLayout(new GridLayout(linhas, colunas, espaçamentohorizontal, espaçamento-vertical)
14
BorderLayout Divide o contêiner em cinco regiões:
North (região superior) South (região inferior) West (região à esquerda) East (região à direita) Center (região central) Ao adicionar o elemento indicamos a que região ele pertence. Permite somente um elemento por região. Na ausência de elementos em alguma região, as outras ocupam o espaço.
17
CardLayout Pode agrupar diversos contêineres na forma de cartões. Apenas um contêiner é visível por vez.
21
Tratamento de Eventos Desejamos interpretar as ações do usuário, para isso devemos implementar uma ou mais interfaces receptoras de eventos: ActionListener: clique em um botão, “enter” em um campo; FocusListener: gerado quando um componente recebe ou perde foco; MouseListener: gerado quando o mouse é clicado, ou entra em um componente; WindowListener: gerado quando ocorre um evento em janela; maximizar, minimizar, etc.
22
Listener e tratamento do evento
A interface ActionListener , exige um método actionPerformed, que trata o evento gerado. O método addActionListener registra quais componentes serão observados.
25
JButton
26
Métodos
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.