Programação Orientada a Objetos



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

MÓDULO 4 SWING Parte 3

Desenvolvimento de Aplicações Desktop

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

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

Programação Gráfica em Java.

Java - Swing. Raphaela Galhardo raphaela@j2eebrasil.com.br

8. Interfaces Gráficas de Usuário

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

Especialização em Engenharia de Software - CEUT

JAVA. Marcio de Carvalho Victorino. Interface Gráfica em Java (GUI)

Módulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Capítulo 12 Eventos de interacção

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

Tratamento de Eventos

Introdução à Programação. Interfaces Gráficas

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

package br.com.cadastro.visao;

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

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

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

Roteiro para criação de Applet

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

1) De acordo com o trecho de código escrito na linguagem JAVA, responda a questão abaixo:

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: imagecomposite FACULDADE DE TECNOLOGIA SENAC PELOTAS

Técnicas de Programação II

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

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

CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I

JFrame. JLabel : Utilizado como rótulo para exibição de texto e ícones. Interface Gráfica de JAVA - Graphical User Interface (GUI)

Natureza do Software e dos Sistemas

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Curso de Aprendizado Industrial Desenvolvedor WEB

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

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

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

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

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

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Desenvolvendo aplicações

Pacote Java Swing Parte 1

Eclipse IDE Dá-se importância aos antepassados quando já não temos nenhum. Francois Chateaubriand

Construção de Interfaces Gráficas

Linguagem Java - Prof. Luciana Porcher Nedel 1. Um container genérico e visual. Ela trabalha em cooperação com o controle de layouts.

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

Interface Gráfica. Prof. Marcelo Cohen

Gerenciadores de Layouts

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Exercícios de Revisão Java Básico

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

JTABLE STUDENT CONTROL JSC Gil Eduardo de Andrade / Emílio Rudolfo Fey Neto

Programação de Computadores II TCC /Turma A 1

API Swing Java. 1. Introdução. 2. Objetivos. 3. Surgimento do Swing. André Scarmagnani 1, Matheus Madalozzo 1, Miguel Diogenes Matrakas 1

JFC/Swing. Java Avançado Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

Interface Gráficas Parte I. Bruno Crestani Calegaro

Curso Java Starter. 1

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Programando GUIs

Prof. Fernando V. Paulovich 25 de julho de SCC Programação Orientada a Objetos

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I E J

Programação Orientada a Objetos II

Análise de Programação

Curso de Java Módulo II Swing Fábio Mengue Centro de Computação - Unicamp

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Resize Shape Basic Shape FACULDADE DE TECNOLOGIA SENAC PELOTAS

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

1 Criando um aplicativo visual em Java

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

Elaborando as Interfaces Aulas 43, 44 e 45

Exercícios 07 Introdução à POO (Interface Gráfica)

Arquitetura de Tratamento de Eventos em Programas com GUI - Graphical User Interface

Programação Visual em Java

Programação Orientada a Objetos em Java

Jogo Da Velha. - Parte 1 - Fazendo a parte gráfica do jogo da Velha

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

Exemplo com SWING 1: Fazer uma aplicação, em Java, que tenha, na tela, uma JProgressBar, um JLabel e um JButton.

Introdução ao Processamento de Imagens Digitais em Java com Aplicações em Ciências Espaciais

Is Event Dispatcher Threade (Animation)

Interface Gráfica. Prof. Marcelo Cohen. (material da Profa. Luciana Nedel) Graphical User Interface (GUI)

Sistema de Recursos Humanos

Encapsulamento de Dados

HABILITANDO A IDE DO ECLIPSE

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

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

Elaborando as Interfaces Aulas 31, 32 e 33

Universidade Católica do Salvador Bacharelado em Informática. Antonio Yuri Jailson do Amor Divino Felipe Souza. Tutorial: Trabalhando com JDBC

UNIPAC-TO POOII. Java NetBeans. Aplicações visuais e componentes. Giovanni Camargo Silva giovanni@unipato.com.br

Técnicas de Programação II

Construção de Interfaces Gráficas - Introdução

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

Módulo 07 Características Avançadas de Classes

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Transcrição:

Programação Orientada a Objetos Alexandre César Muniz de Oliveira Entrada e Saída Parte IV

Entrada e Saída Módulo de Interface com o usuário Dividir trabalho Separar processamento de E/S Entrada e Saída Em Java, E/S é tratada por objetos streams.

Entrada e Saída BufferedReader x = new BufferedReader (new InputStreamReader (System.in)); http://java.sun.com/j2se/1.4.2/docs/api/java/io/package-tree.html class java.lang.object * class java.io.file (implements java.lang.comparable, java.io.serializable) (...) * class java.io.reader o class java.io.bufferedreader o class java.io.chararrayreader o class java.io.filterreader o class java.io.inputstreamreader o class java.io.pipedreader o class java.io.stringreader class java.io.streamtokenizer (...)

Entrada e Saída Lendo números (Class BufferedReader) String inputstring = new String(); System.out.println( Quanto você correu? "); inputstring = input.readline(); double miles = Double.parseDouble(inputString); System.out.println( Quanto tempo? "); inputstring = input.readline(); double minutes = Double.parseDouble(inString); System.out.println( Seu pique foi de " + miles/minutes + "km/h"); Entrada e Saída import java.io.*; public class KeyboardReader { private BufferedReader reader; public KeyboardReader() { reader = new BufferedReader (new InputStreamReader(System.in)); public String getkeyboardinput() { return readkeyboard();...

Entrada e Saída public int getkeyboardinteger() { return Integer.parseInt(readKeyboard()); public double getkeyboarddouble() { return Double.parseDouble(readKeyboard()); public void prompt(string s) { System.out.print(s); public void display(string s) { System.out.print(s);... Entrada e Saída... private String readkeyboard() { String line = ""; try { line = reader.readline(); catch (IOException e) { e.printstacktrace(); return line;

Interface gráfica Componentes de Interface Gráfica (GUI) Um componente possui atributos e métodos Definem um comportamento conhecido Podem ser conectados formando componentes de alto-nível, formando a interface com o usuário Pacotes separados, mas interrelacionados java.awt e javax.swing Componente java.awt.button foi substituído pelo javax.swing.jbutton Interface gráfica Exemplos de componentes JLabel é simplesmente uma string de texto mostrado na GUI JTextField é um elemento de entrada que armazena uma única linha de texto. JTextArea é um componente de saída que mostra múltiplas linhas de texto JButton é um elemento de controle rotulado que permite a interação do usuário com o programa JFrame é um container de alto-nível que pode conter outros componentes

Interface gráfica JTextField JLabel JTextArea JButton JFrame{ Interface gráfica Classes Swing Superiores às suas similares do AWT. Projeto orientado a objetos sofisticado Arquitetura model-view-controller (MVC) Exemplo: AWT Button = string Swing JButton = Image.bmp

Interface gráfica Classes Swing Componentes escritos em Java Portabilidade Aparência independe de S.O. Diferentes look-and-feel Utilização de componentes é feito por herança Interface gráfica

Interface gráfica Subclasse de JFrame especializa sua funcionalidade para uma aplicação específica Interface gráfica import javax.swing.*; public class SimpleGUI extends JFrame { public SimpleGUI(String title) { setsize(200,150); setlocation(100, 150); settitle(title); setvisible(true); // Displays the JFrame public static void main(string args[]) { new SimpleGUI("My GUI");

Interface gráfica Controle Saída Entrada Interface gráfica Exemplo: JTextField aceita entrada do usuário JTextArea mostra a saída do programa JButton permite uma ação de controle JLabel aviso para o JTextField.

Interface gráfica private JLabel prompt; private JTextField infield; private JTextArea display; private JButton gobutton; prompt = new JLabel( Por favor, digite seu nome aqui: "); infield = new JTextField(10); // tamanho de 10 chars display = new JTextArea(10, 30); // 10 lin x 30 col gobutton = new JButton( Clique para saudação"); Interface gráfica Outros métodos

Interface gráfica Componentes adicionados a um JFrame através de content panes. add(component comp) add(component comp, int index) add(string region, Component comp) "North", "South", "East", "West", or "Center". Interface gráfica Apenas um componente por área Container contentpane = getcontentpane(); contentpane.add("center",display); JPanels podem ser usados para encapsular componentes relacionados

Interface gráfica prompt = new JLabel( Por favor, digite seu nome aqui: "); infield = new JTextField(10); display = new JTextArea(10, 30); gobutton = new JButton( Clique para saudação"); JPanel inputpanel = new JPanel(); inputpanel.add(prompt); inputpanel.add(infield); inputpanel.add(gobutton); Container contentpane = getcontentpane(); contentpane.add("south", inputpanel); Eventos Programação orientada a eventos Eventos são gerados pelo hardware Componentes chamados listeners. Um ouvinte monitora eventos

Eventos Programação orientada a eventos Laço de evento Ouvindo eventos Tomada uma ação Repeat forever or until the program is stopped Listen for events if event-a occurs, handle it with event-a-handler if event-b occurs, handle it with event-b-handler Eventos

Eventos Exemplos: Clique do mouse Acionamento de tecla Foco do mouse Java cria um objeto ActionEvent contendo instante tipo de evento O usuário pode tratar (dar ações) os eventos que desejar Para tanto Java opera com o conceito de Interface Interface para eventos Interface Tipo de classe especial em Java Contém apenas métodos e constantes (variáveis do tipo final) Não podem conter variáveis de instância Uma classe define um comportamento Interface Define apenas o protocolo de comportamento a ser implementado Obriga a implementação de um protocolo ou conjunto de métodos

Interface para eventos Interface ActionListener public abstract interface ActionListener extends EventListener { public abstract void actionperformed(actionevent e); A classe interessada em processar um evento deve implementar esta interface Qualquer classe implementando actionperformed() pode funcionar como um ouvinte de eventos. Interface para eventos Deve-se dar uma implementação para actionperformed() dentro da classe GreeterGUI public void actionperformed(actionevent e) { if (e.getsource() == gobutton) { String name = infield.gettext(); display.append(greeter.greet(name) + "\n");... // class Quando gobutton é clicado o código em ActionPerformed() é executado

Interface para eventos Deve-se Informar que GreeterGUI será ActionListener para gobutton. public class GreeterGUI extends Frame implements ActionListener {... public void buildgui() {... gobutton = new JButton( Clique aqui para saudação!"); gobutton.addactionlistener(this);...... Exemplo import javax.swing.*; import java.awt.*; import java.awt.event.*; public class GreeterGUI extends JFrame implements ActionListener { private JTextArea display; private JTextField infield; private JButton gobutton; private Greeter greeter;

Exemplo public GreeterGUI(String title) { greeter = new Greeter(); buildgui(); settitle(title); pack(); // java.awt Class Window: ajuste de janela setvisible(true); // construtor Exemplo private void buildgui() { Container contentpane = getcontentpane(); contentpane.setlayout(new BorderLayout()); display = new JTextArea(10,30); infield = new JTextField(10); gobutton = new JButton( Clique aqui para saudação!"); gobutton.addactionlistener(this); JPanel inputpanel = new JPanel(); inputpanel.add(new JLabel( Nome: ")); inputpanel.add(infield); inputpanel.add(gobutton); contentpane.add("center", display); contentpane.add("south", inputpanel); // buildgui()

Entrada e Saída Exemplo public void actionperformed(actionevent e) { if (e.getsource() == gobutton) { String name = infield.gettext(); display.append(greeter.greet(name) + "\n"); // actionperformed() // GreeterGUI class

Exemplo public class GreeterApplication { public static void main(string args[]) { new GreeterGUI("Greeter"); import javax.swing.*; public class GreeterApplet extends JApplet { public void init() { new GreeterGUI("Greeter"); Exercício Faça JTextField se tornar ouvinte de eventos Ao teclar <enter> o usuário causa o mesmo efeito de um clique de mouse Designe infield como um ActionListener Alterações em buildgui() e actionperformed()

Exercício Aceita ou cancela ACEITOU!!! Exercício import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jpanel; public class PanelWithComponents { public static void main(string[] a) { JPanel panel = new JPanel(); JButton okbutton = new JButton("OK"); panel.add(okbutton); JButton cancelbutton = new JButton("Cancel"); panel.add(cancelbutton); JFrame frame = new JFrame( Exemplo Aceita ou Cancela"); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.add(panel); frame.setsize(300, 200); frame.setvisible(true);

Casos Menu Casos public class Interface extends javax.swing.jframe { private JPopupMenu jpopup = new JPopupMenu(); private JMenuItem cortar1 = new JMenuItem(); private JMenuItem copiar1 = new JMenuItem(); private JMenuItem colar1 = new JMenuItem(); private JMenuItem selecionartudo1 = new JMenuItem(); private JScrollPane jscrollpane1= new JScrollPane(); private JTextArea jtextarea1 = new JTextArea(); private JTextField jtextfield1 = new JTextField(); private JMenuBar barrademenu = new JMenuBar(); private JMenu arquivo = new JMenu(); private JMenuItem novoarquivo = new JMenuItem(); private JMenuItem abrirarquivo = new JMenuItem(); private JMenuItem salvararquivo = new JMenuItem(); private JMenuItem sair = new JMenuItem();...

Casos private void Menus() { cortar1.settext("cortar"); jpopup.add(cortar1); copiar1.settext("copiar"); jpopup.add(copiar1); colar1.settext("colar"); jpopup.add(colar1); selecionartudo1.settext("selecionar Tudo"); jpopup.add(selecionartudo1); settitle("estrutura de Dados - Tabela Hash"); inserir.settext("inserir"); inserir.setenabled(false); menuresultado.add(inserir); Casos private class TrataEventos implements ActionListener{ public void actionperformed(actionevent actionevent){ if(actionevent.getsource()== novoarquivo){ jtextarea1.settext(null); textoresultado.settext(null); setarfalsesubmenus(); jtextfield1.settext("pronto..."); else if(actionevent.getsource()== abrirarquivo){ jtextfield1.settext("abrindo Arquivo..."); textoresultado.settext(null); setarfalsesubmenus(); int resultado = escolher.showopendialog(null);...

Casos private void adicionalistenerefiltro(){ TrataEventos evento = new TrataEventos(); novoarquivo.addactionlistener(evento); abrirarquivo.addactionlistener(evento); salvararquivo.addactionlistener(evento); sair.addactionlistener(evento); cortar.addactionlistener(evento); copiar.addactionlistener(evento); colar.addactionlistener(evento); selecionartudo.addactionlistener(evento);...