Interfaces Gráficas com Swing. Professor Leonardo Larback

Documentos relacionados
Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

Elaborando as Interfaces Aulas 31, 32 e 33

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

MÓDULO 4 SWING Parte 3

Desenvolvimento de Aplicações Desktop

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Linguagem de Programação Visual

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

Programação Orientada a Objetos

A classe JTextField

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Java Swing: Netbeans

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

1 Criando um aplicativo visual em Java

Introdução à Programação Gráfica em Java

(INFORMAÇÕES PARA LABORATÓRIOS VIRTUAIS) Nome do laboratório: Laboratório de Programação (INFORMAÇÕES PARA FERRAMENTA)

Técnicas de Programação II

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Swing. Page 1. Swing. Prof. Anderson Augustinho Uniandrade

. Uma instância da classe JTextField gera uma instância da classe ActionEvent quando o objecto está activo e o utilizador pressiona a tecla ENTER.

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing

Interface Gráfica - Swing

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

JAVA. Gerenciadores de Layout. Tiago Alves de Oliveira

Pacote Java Swing Parte 1

Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

Programação Java. Construção de Interfaces com Swing (I)

Interface gráfica em Java: Swing e SWT

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

Orientação a Objetos

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 3- Desenvolvendo Interfaces Mais Ricas

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

8. Interfaces Gráficas de Usuário

COM220 Aula 17: Interface Gráfica Containers Swing

Curso Java Starter. 1

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 4- Tratamento de Eventos em Interfaces Gráficas

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.

Curso de Aprendizado Industrial Desenvolvedor WEB

Interfaces Gráficas POO. Prof. Márcio Delamaro

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

Aplicação Linguagem de Programação Orientada a Objeto

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Elaborando as Interfaces Aulas 43, 44 e 45

Principais Classes Swing AWT

Formulário Principal no NetBeans

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

HABILITANDO A IDE DO ECLIPSE

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA

Programação Orientada a Objetos em Java. GUI Graphical User Interface

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

Programação Orientada a Objetos II

Adding User Interaction

Exemplo Threads com Swing:

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Algoritmos I Aula 14 Java: estruturas de seleção e repetição

Gerenciadores de Layout

Transcrição:

Interfaces Gráficas com Swing Professor Leonardo Larback

SWING Swing é um widget toolkit para uso em Java. Surgiu como sucessor do Abstract Window Toolkit (AWT) à partir do java 1.2. Como uma das principais novidades, a API do Swing favoreceu ao máximo o lema de portabilidade da plataforma Java. O look-and-feel do Swing é único em todas as plataformas, assim, uma aplicação Swing terá uma interface (cores, tamanhos etc) semelhante em qualquer sistema operacional.

SWING - Componentes Swing traz inúmeros componentes para utilizarmos na criação das interfaces gráficas dos usuários (GUI) botões, caixas de texto, botões de seleção, caixas de opções, tabelas, janelas, abas, barras de rolagem etc. A biblioteca swing está no pacote javax.swing

SWING Construindo uma janela Aplicações gráficas são construídas sobre Main Windows uma janela top-level contendo título e borda. Esta janela, em java, é um objeto da classe JFrame. Assim, para criarmos uma janela, basta instanciarmos um objeto de JFrame e configurarmos suas propriedades utilizando seus setters:

SWING Construindo uma janela

SWING Entendendo o código JFrame jftela = new JFrame( Primeira Janela ); Nesta linha, criamos um objeto de JFrame. A string passada como parâmetro ao construtor será o título da janela. jftela.setsize(200, 200); Configuramos o tamanho da janela. As medidas aqui são largura e altura. jftela.setlocationrelativeto(null); Define em relação a quem a janela será posicionada. Quando passamos null como parâmetro, a janela será posicionada em relação ao monitor do usuário. jftela.setlocation(0, 0); Define a localização da janela. Os valores informados registram a distância da janela em relação à margem. O primeiro valor é a distância da margem esquerda e o segundo a distância em relação ao topo. jftela.setdefaultcloseoperation(jframe.exit_on_close); Define qual será o comportamento da janela quando a o usuário fechá-la. A constante EXIT_ON_CLOSE encerra a aplicação. jftela.setvisible(true); Torna a janela visível.

SWING Segundo exemplo

SWING Entendendo o código Boa parte do código dessa segunda classe já foi explicado no primeiro, assim, nos atentemos as diferenças. Este segundo exemplo apresenta 3 novos componentes: JButton, JLabel e JTextField Um botão de ação, um rótulo de dados e uma caixa de texto. Esses componentes são instanciados nas linhas: JTextField jtnome = new JTextField(); JLabel jlnome = new JLabel("Digite seu nome:"); JButton jbok = new JButton("Ok"); Os textos informados nos construtores de JButton e JLabel serão apresentados como conteúdos dos seus respectivos objetos.

SWING Entendendo o código Após instanciarmos os objetos, configuramos o JFrame Se tiver alguma dúvida sobre algum dos métodos, volte no primeiro exemplo. Como teremos outros componentes dentro desta janela, precisamos configurar o layout que será utilizado. Neste exemplo, posicionaremos os componente manualmente, assim, definimos o layout como null. jftela.setlayout(null); Para posicionarmos os componentes utilizamos o método setbounds(). Os parâmetros informados a esse métodos são distância da margem esquerda (x), distância do topo (y), largura(width) e altura(height). jlnome.setbounds(0, 10, 120, 25); Embora o setbounds() defina a posição do componente, ele não adiciona o mesmo na janela. Para isso, devemos utilizar o método add(). jftela.add(jlnome);

SWING Entendendo o código Utilizando a mesma lógica (e os mesmos métodos), posicionamos e adicionamos todos os componentes que compõem essa tela. jtnome.setbounds(125,10,275,25); jftela.add(jtnome); jbok.setbounds(125,40, 100, 25); jftela.add(jbok); Para definirmos uma ação para o botão, utilizamos uma classe interna anônima. Esta classe implementa a interface ActionListener e a ação é colocada dentro do método void actionperformed(actionevent).

SWING Entendendo o código jbok.addactionlistener(new ActionListener() { @Override public void actionperformed(actionevent e) { JOptionPane.showMessageDialog(null, "Bem vindo a programação java com Swing"); System.exit(0); } }); A interface ActionListener é utilizada como um ouvinte de eventos comuns. Quase sempre que utilizamos um JButton, queremos capturar o click neste JButton. Assim, a interface ActionListener fornece um caminho mais curto para implementarmos este recurso. A interface possui apenas um método e este será executado quando o componente receber um click. A implementação feita exibe uma caixa de mensagem e encerra a aplicação.

SWING Entendendo o código jbok.addactionlistener(new ActionListener() { @Override public void actionperformed(actionevent e) { JOptionPane.showMessageDialog(null, "Bem vindo a programação java com Swing"); System.exit(0); } }); A interface ActionListener é utilizada como um ouvinte de eventos comuns. Quase sempre que utilizamos um JButton, queremos capturar o click neste JButton. Assim, a interface ActionListener fornece um caminho mais curto para implementarmos este recurso. A interface possui apenas um método e este será executado quando o componente receber um click. A implementação feita exibe uma caixa de mensagem e encerra a aplicação.

SWING Exercício Para praticar, desenvolva a GUI abaixo. Sabemos que a tentação será grande, mas não copie o código dos exemplos, digite novamente cada linha Não é desperdício de tempo, é parte do processo de aprendizagem. Bons estudos