0% acharam este documento útil (0 voto)
51 visualizações67 páginas

Interface Gráfica em Java

Enviado por

lienscarlet
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
51 visualizações67 páginas

Interface Gráfica em Java

Enviado por

lienscarlet
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 67

Interface Gráfica em Java

Pacote Swing

RICARDO C. CÂMARA DE M. SANTOS


ESTAGIÁRIO EM DOCÊNCIA
Objetivo

• Apresentar o pacote Swing que é uma ferramenta para


criação de interface gráfica.
• Manipular componentes da interface.
• Incluir funcionalidades aos componentes.
• Programar comandos dados pelo usuário.
O que é uma interface gráfica?

• Uma interface gráfica ou GUI (Graphical User Interface)


fornece um mecanismo amigável para facilitar a
interação do usuário com uma aplicação.

• Isso possibilita o usuário utilizar o software de maneira mais


produtiva.
Uma GUI aumenta a produtividade?
O que compõe uma interface gráfica?

• Componentes de uma interface gráfica


• Barra de título;
• Barra de menu;
• Menus;
• Botões;
• Barras de rolagens;
• Caixa de combinação;
• Caixa de seleção;
O que compõe uma interface gráfica?
O que compõe uma interface gráfica?

Barra de título
O que compõe uma interface gráfica?

Barra de menu
O que compõe uma interface gráfica?

Menus
O que compõe uma interface gráfica?

Botões
O que compõe uma interface gráfica?

Barras de rolagem
O que compõe uma interface gráfica?
• Caixa de combinação
ou combo box.
O que compõe uma interface gráfica?
• Caixas de seleção:
checkbox.
O que compõe uma interface gráfica?
• Caixas de seleção:
radio buttons
Pacotes do Swing
• As classes do Swing estão distribuídas por diversos pacotes.

• Principais pacotes são:


• import javax.swing.*
• import javax.swing.event.*

• Algumas classes dos pacotes antigas da AWT também são utilizados


pelo Swing:
• import javax.awt.*
• import javax.awt.event.*
Componentes e Containers
• A interface com o usuário é orientada a janelas:
• Os elementos de interface com o usuário são classificados como janelas,
containers e componentes.

• As janelas são a base da interface com o usuário, contendo os demais


elementos.

• Os containers são grupos de componentes, apresentados em uma região de


tela definida.

• Os componentes são os principais elementos de interface, sendo utilizados


diretamente pelo usuário.
Componentes e Containers
Componentes e Containers

• A janela (JFrame) é o container de mais alto nível


– A janela existe para prover espaço para apresentação dos
componentes Swing.

• O painel (JPanel) é um container intermediário.


– Os painéis existem para controlar o posicionamento dos
componentes.

• Componentes atômicos, como botões (JButton) e linhas de edição


(JTextField), realizam a interação com o usuário propriamente dita.
Containers Java Swing
• JFrame
• Classe responsável criar a tela onde
serão colocados os componentes da
interface.

• Cada Jframe criado é responsável por


uma janela. Uma aplicação pode possuir
dezenas de Jframes.
Containers Java Swing
• JFrame
• Toda janela possui um painel invisível
(ContentPane).
• Os componentes da janela são
inseridos neste painel.
• A janela pode conter uma barra de
menu.
Containers Java Swing
• JPanel
• O JPanel é um dentre vários containers
é utilizado para organização da
interface.

• O containers são elementos onde


colocamos outros componentes
internamente.

• A esquerda temos dois JPanels um


contendo somente a caixa de texto e
outro contendo um JPanel e 4 botões.
Containers Java Swing
• JPanel
• Jpanel é o container intermediário mais
simples.

• Pode ser inserido em uma Janela ou


em um painel.

• O método “add()” insere o painel na


janela.
Containers Java Swing
• Outros painéis intermediários.
Componentes Java Swing
• Todos os componentes swing herdam da classe Jcomponent.

• Esta classe oferece alguns recursos ao programador.


• Textos de ajuda.
• Bordas.
• Tratamento de eventos.
• Entre outros métodos de suporte.
Componentes Java Swing
• Métodos de suporte: Textos de ajuda
• O método “setToolTipText()” indica o texto de ajuda do componente.

• Este método recebe uma String como parâmetro e esta String que será exibida
como texto de ajuda.

• O texto de ajuda é mostrado quando o cursos do mouse está sobre o


componente
Componentes Java Swing
• Métodos de Suporte: Acesso e Visibilidade
• “setEnabled()”: recebe um booleano para habilitar ou desabilitar um
componente.

• “isEnabled()”: retorna um booleano indicando se o componente


está habilitado ou desabilitado.

• “setVisible()”: recebe um booleano que permite que o


desenvolvedor mostre ou esconda um componente.

• “isVisible()”: retorna um booleano indicando se o componente está


visível ou não.
Componentes Java Swing
• Métodos de Suporte: Fonte e cursos do componente
• “setFont()”: altera a fonte de caracteres de um componente para a
fonte recebida como parâmetro.

• “getFont()”: retorna a fonte de caracteres que está sendo utilizada


por um componente.

• “setCursor()”: altera o cursor do mouse utilizado por um componente


para o cursos recebido como parâmetro

• “getCursor()”: retorna o cursor do mouse que está sendo utilizado


pelo componente.
Componentes Java Swing
• Métodos de Suporte: Tamanho e posição do componente
• “getWidth()”: retorna a largura do componente em pixels.

• “getHeight()”: retorna a altura do componente em pixels.

• “getSize()”: retorna as dimensões do componente em um objeto da


classe Dimension.

• “getBounds()”: retorna a área ocupada por um componente em um


objeto da classe “Rectangle”.
Componentes Java Swing
• Botões
• Swing possui uma variedade de tipos de botões
• JButton: botão simples
• JCheckBox: caixa de seleção
• JRadioButton: caixa de seleção com múltiplas opções.

• Os botões possuem versões utilizadas em menus


• JMenuItem: item de menu
• JCheckBoxMenuItem: caixa de seleção para menus
• JRadioButtonMenuItem: caixa de seleção múltiplas para menus
Componentes Java Swing
• Botões
• Características dos Botões Swing:
• Apresentam texto e imagens.
• Controlam o posicionamento do título do botão.
Componentes Java Swing
• Caixas de Seleção – JCheckBox
• O método “getSelected()” retorna se a caixa de seleção foi
selecionada pelo usuário.
• O método “setSelected()” recebe um booleano e seleciona ou
deseleciona uma caixa de seleção.
Componentes Java Swing
• Caixas de Seleção – JRadioButton
• Radio buttons são criados em grupo.
• Somente um botão de um grupo pode estar selecionado em um
determinado instante
• A classe ButtonGroup permite a criação de grupos de botões
Componentes Java Swing
• Caixas de Seleção – JRadioButton
Componentes Java Swing
• Combo Boxes
• Combo boxes permitem a seleção de um item de uma
lista.
• Apenas um item está selecionado em cada instante.
• A combo box pode ser inicializada com um array ou conjunto de Strings.
Componentes Java Swing
• Combo Boxes
• Acesso aos dados
• O método “setSelectedIndex()” altera o item selecionado, indicando o
índice do novo item na lista.
• O método “getSelectedIndex()” retorna o índice do item selecionado
na lista de opções.
Componentes Java Swing
• Listas
• Apresentam diversos itens ao mesmo tempo
• Como na combo box, a lista pode ser inicializada com um vetor ou uma lista de Strings.
Componentes Java Swing
• Listas
• Listas permitem diversos modelos de seleção de itens.
• O método “setSelectionMode()” altera o modo de seleção dos itens de uma lista.
• SINGLE_SELECTION
• SINGLE_INTERVEL_SELECTION
• MULTIPLE_INTERVAL_SELECTION
Componentes Java Swing
• Listas
• Listas devem ser inseridas em painéis de rolamento.
Componentes Java Swing
• Linhas/Áreas de Texto
• Permite a edição de textos
• O construtor da linha de edição indica o tamanho desejado.
• O construtor não limita o tamanho do texto editado.
• “setText()”: altera o texto em edição na linha.
• “getText()”: retorna o texto editado pelo usuário.
Componentes Java Swing
• Linhas/Áreas de Texto
Componentes Java Swing
• Linhas/Áreas de Texto
• O método “setEditable()” recebe um booleano e define se a linha de texto é
editável ou somente leitura.

• O método “isEditable()” retorna um booleano indicando se a linha de texto é


editável ou somente leitura.

• O método “setHorizontalAligment()” indica como o texto é alinhado na linha de


edição
• JTextField.LEFT
• JTextField.CENTER
• JTextField.RIGHT
Componentes Java Swing
• Rótulos
• Rótulos permitem a apresentação de textos e imagens
• Os métodos “setText()” e “getText()” alteram e consultam o texto atribuído ao rótulo.
• Os métodos “getIcon()” e “setIcon()” alteram e consultam a imagem atribuída ao
rótulo.
Componentes Java Swing
• Rótulos
Componentes Java Swing
• Outro Componentes
Layout Managers
• O controle de posicionamento determina o tamanho
e a posição dos componentes de um painel.
• Todos containers possuem um layout manager.

• O layout manager é um objeto responsável por posicionar e


determinar o tamanho dos componentes do container

• Os componentes podem indicar seus tamanhos e posições


desejadas, mas o layout manager decide sobre as
dimensões finais em cada container.
Layout Managers
• O método “setLayout()” de um painel permite alterar seu layout manager,
que é passado como parâmetro.

• BorderLayout
• Componentes são organizados nas bordas.
• Ao inserir deve indicar a posição relativa.
Layout Managers
• FlowLayout
• Componentes organizados em linhas
• Cada componente ocupa o seu
tamanho desejado
• Se o espaço horizontal não for
suficiente para todos
componentes, o layout manager
utiliza diversas linhas.
Layout Managers
• “Layout absoluto”
• Sem layout definido
Eventos
• Controles geram eventos:
• Um evento indica a ocorrência de uma atuação do usuário sobre
o controle ou alguma mudança interna que o afete.
• Exemplos: clique de um botão, movimento do mouse, pressionar
tecla do teclado, ...

• Resposta a eventos
• O desenvolvedor deve programar sua aplicação para responder aos
eventos gerados sobre seus componentes
• Qualquer objeto pode responder a eventos
Eventos
• Um objeto pode se registrar para “escutar” eventos.
• O objeto deve implementar uma interface específica.
• O objeto deve se registrar no componente.
• Diversos objetos podem ser registrados para o mesmo evento.
• Um mesmo objeto pode tratar diversos eventos distintos.

• Cada evento é representado por um objeto


• O objeto possui informações sobre o evento.
• O objeto identifica o componente gerador do evento.
Eventos
• Principais eventos e suas interfaces
Eventos de Ação
• Interface ActionListener
• Gerado por botões, menus e Enter em
linhas de edição.

• Registrada através do método


“addActionListener()”

• A interface possui um único método:


• “actionPerformed()”

• O método recebe um objeto da classe


ActionEvent.
Eventos de Teclado
• Interface KeyListener
• Evento de pressionamento e liberação de teclas.
• Eventos são gerados pelo componente com o foco.
• Registrada no componente pelo método addKeyListener.
• Abaixo são apresentados os métodos da interface.

• public void keyTyped (KeyEvent e);


• public void keyPressed (KeyEvent e);
• public void keyReleased (KeyEvent e);
Eventos de Teclado
• Classe KeyEvent
• Informações adicionais do eventos de teclado.
• O método “getKeyChar()” retorna o caractere da tecla associada com o
evento.
• O método “getKeyCode()” retorna um código único para a tecla associada
ao evento.
• A classe “KeyEvent” define diversas constantes de código referentes às
teclas associadas com o evento.
• As constantes são iniciadas por VK.
• exemplo: VK_ESCAPE
Eventos de Teclado
• Exemplo de código
Eventos de Mouse
• Classe MouseEvent
• Representa os dados complementares do evento de mouse.

• O métodos “getX()”, “getY()” e “getPoint()” retornam a posição do


mouse, relativa ao componente afetado pelo evento.

• O método “getComponente()” retorna o componente afetado pelo


evento.
Eventos de Mouse
• Interface MouseMotionListener
• Eventos de movimento e arrastamento do mouse.

• Registrada através do método “addMouseMotionListener()”.

• Os métodos utilizam objetos da classe MouseEvent.


Eventos de Mouse
• Exemplo de código
NetBeans - Projeto com Java Swing
• Ao criar um novo projeto escolha:
• Aplicação Java (primeira opção).
• Em seguida escolha o local e nome do projeto.
• Após criar o projeto, dentro do pacote de projeto crie um novo JFrame
Form.
NetBeans - Interface
• Ao visualizar o código temos 3
opções:
• Source: Código fonte.
• Design: Onde é mostrada a sua interface.
• History: Mostra o histórico de alterações.
do código.
NetBeans - Design View
• Quando esta com o modo Design
selecionado temos a janela Palette a
direita.

• Da palette podemos arrastar objetos


para a janela de design.

• Ao executar o código uma nova


interface vazia já é possível visualizar a
janela do projeto.
NetBeans - Design View
• Properties:
• Ao clicar em qualquer componente
a direita temos suas propriedades.

• Este menu pode facilitar a definição


de algumas propriedades como:
• Título
• Operação padrão ao fechar.
• Cor do background.
• Tipo de cursor.
• Etc...
NetBeans - Código Inicial
• O código fonte inicial:
• Construtor que invoca a função de
inicialização de componente.

• A função de inicialização de
componentes “initComponents()”.

• A função “main()” com a


chamada de um “Runnable()”.
• O runnable é a interface primária
para qualquer objeto que precisa
ser executado como uma thread.
Instrução geral
Extras
• Thread simples em Java
Extras
• Execução de som.
FIM
Obrigado a todos!!!

ricardocamara03@hotmail.com

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy