LPII Programando uma Cálculadora Simples Módulo III

Documentos relacionados
LINGUAGEM DE PROGAMAÇÃO II Criando uma Classe

package br.com.cadastro.visao;

HABILITANDO A IDE DO ECLIPSE

Exemplo Threads com Swing:

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

Aula Prática Criando Views e Controles

Vector Java. Empregado.java

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

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

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

MÓDULO 4 SWING Parte 3

Principais Classes Swing AWT

INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO. Centro de Informática de Ribeirão Preto - CIRP - USP

MANIPULAÇÃO DE EVENTOS

Sistemas Operacionais

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

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

Is Event Dispatcher Threade (Animation)

Programação Orientada a Objetos

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

Criando interfaces com o usuário. Continuação

A classe JTextField

Adding User Interaction

Programação Gráfica em Java Alguns Componentes javax.swing

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1)

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

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

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

Crie dois pacotes: jogo e imagens Coloque as imagens da cobra, da fruta e da parede no pacote imagens Crie uma nova classe chamada Cobra no pacote

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

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Programação Orientada a Objetos SANTOS, Rafael (PLT)

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

Idiomas de Programação

Linguagem de Programação II Implementação

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

AULA 10 - CCT0024 Linguagem de Programação Objetivos da aula. Janelas para leitura e exibição de textos

Tipos, Literais, Operadores

Tipos, Literais, Operadores

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

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

Teste de Software: Existe Isto? Jorge Fernandes Junho de 2004

Especialização em Engenharia de Software - CEUT

Sistema Futebol - Java

Tratamento de Exceções

COM220 Aula 17: Interface Gráfica Containers Swing

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas:

Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte II

Exercício de Estrutura de dados. Java Fila

. 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.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Análise de Programação

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Curso Java Starter. 1

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

Elaborando as Interfaces Aulas 43, 44 e 45

Técnicas de Programação II

MsC. João Maria MsC. Liviane Melo

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

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

Linguagem de Programação II Importando Classes/Pacotes

Como tratar eventos - A interface ActionListener e o método actionperformed

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

Perceba, porém, que se desejarmos acrescentar o texto de um botão ao texto que já existe no TextBox, devemos proceder assim:

Elaborando as Interfaces dos trabalhos das aulas 28, 29 e 30.

Testes Unitários com JUnit

Roteiro para criação de Applet

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

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

Neste tutorial apresentaremos as vantagens e facilidades de usar a ferramenta de Deployment Java Web Start.

Elaborando as Interfaces Aulas 31, 32 e 33

Processo Básico: OO + Eventos. Java First-Tier: Aplicações. Construção de Interface gráfica. Exemplo. Exemplo. Exemplo. Hierarquia de Composição

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Programação Estruturada e Orientada a Objetos

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof.

Programação de Computadores II

Network Programming. Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP

Tratamento de Exceções

Linguagem Java - Introdução

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Java Standard Edition (JSE)

Introdução à Tecnologia Java 02/2012. Java Aula 03. gráficas GUI Swing 29/08/2012. Celso Olivete Júnior.

Responda às questões abaixo: 1 a Questão: Indique todos casos de não determinismo do AFN acima

Programação Orientada a Objetos II

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

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Animation: Paint and thread FACULDADE DE TECNOLOGIA SENAC PELOTAS

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

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Threads. O que é uma Thread? Paralelismo

Interfaces Gráficas com Swing. Professor Leonardo Larback

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

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

Exercícios para o curso de Lógica e Programação Java

Linguagem de Programação II Implementação

Transcrição:

Abra o Eclipse e crie um projeto de nome calculadorasimples. Em seguida crie um frame de nome calculadora na opção New >> Other que apresenta a tela: Inclua os componentes button e TextField, conforme a tela abaixo. Identifique os mesmos com os nome da paleta que segue. Os valores das propriedades text estão ao lado de cada componente. A tela final fica : A lista completa facilita a identificação de algumas propriedades não mencionadas.

Abaixo temos a classe calculadora.java instanciada no frame calcular que veremos a seguir. public class calculadora // Dois atributos para armazenar os // dados para a operação public float parc1, parc2, resultado; // Um atributo para armazenar a operação public String operador; public float getresultado() return resultado; public void setresultado(float resultado) this.resultado = resultado; public float getparc1() return parc1; public void setparc1(float parc1) this.parc1 = parc1; public float getparc2() return parc2; public void setparc2(float parc2) this.parc2 = parc2; public String getoperador() return operador; public void setoperador(string operador) this.operador = operador; // Método utilizado pelos botões numéricos public void Leitura(float parc) if (this.parc1 == 0.0f) this.setparc1(parc); else this.setparc2(parc); // Método utilizado pelos botões /, *, - e + public void Operacao(String oper) this.setoperador(oper); // Método utilizado pelo botão = public float Igualar() h t t p : / / m m h o s t e c. c o m. b r Página 2

switch (this.getoperador()) case ("/"): if (this.parc2 == 0.0f) this.setresultado(0); else this.setresultado (this.getparc1()/this.getparc2()); break; case ("*"): this.setresultado (this.getparc1()* this.getparc2()); break; case ("+"): this.setresultado (this.getparc1()+ this.getparc2()); break; case ("-"): this.setresultado (this.getparc1()- this.getparc2()); break; return this.resultado; Segue o script do arquivo calcular.java que inicializa o programa e contém o frame principal. import java.awt.borderlayout; import java.awt.eventqueue; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.border.emptyborder; import javax.swing.jtextfield; import javax.swing.jbutton; import java.awt.font; import java.awt.event.actionlistener; import java.awt.event.actionevent; import java.awt.color; public class calcular extends JFrame private JPanel contentpane; private JTextField tf_visor; public calculadora ct = new calculadora(); /** * Launch the application. */ public static void main(string[] args) h t t p : / / m m h o s t e c. c o m. b r Página 3

EventQueue.invokeLater(new Runnable() public void run() try calcular frame = new calcular(); frame.setvisible(true); catch (Exception e) e.printstacktrace(); ); /** * Create the frame. */ public calcular() settitle("calc-t2112"); setresizable(false); setdefaultcloseoperation(jframe.exit_on_close); setbounds(100, 100, 245, 287); contentpane = new JPanel(); contentpane.setborder(new EmptyBorder(5, 5, 5, 5)); setcontentpane(contentpane); contentpane.setlayout(null); tf_visor = new JTextField(); tf_visor.setbackground(color.light_gray); tf_visor.setforeground(color.black); tf_visor.seteditable(false); tf_visor.setfont(new Font("Arial Black", Font.BOLD, 14)); tf_visor.setbounds(10, 0, 218, 27); contentpane.add(tf_visor); tf_visor.setcolumns(10); JButton bt_7 = new JButton("7"); bt_7.addactionlistener(new ActionListener() public void actionperformed(actionevent arg0) // Colocar o número 7 no visor tf_visor.gettext()+"7"); ); bt_7.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_7.setbounds(10, 31, 52, 38); contentpane.add(bt_7); JButton bt_8 = new JButton("8"); bt_8.addactionlistener(new ActionListener() tf_visor.gettext()+"8"); ); bt_8.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_8.setbounds(66, 31, 52, 38); contentpane.add(bt_8); h t t p : / / m m h o s t e c. c o m. b r Página 4

JButton bt_9 = new JButton("9"); bt_9.addactionlistener(new ActionListener() tf_visor.gettext()+"9"); ); bt_9.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_9.setbounds(121, 31, 52, 38); contentpane.add(bt_9); JButton bt_divi = new JButton("/"); bt_divi.addactionlistener(new ActionListener() // Executar o método de leitura // passando o visor. ct.setoperador("/"); ""); ); bt_divi.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_divi.setbounds(176, 31, 52, 38); contentpane.add(bt_divi); JButton bt_multi = new JButton("*"); bt_multi.addactionlistener(new ActionListener() ct.setoperador("*"); ""); ); bt_multi.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_multi.setbounds(176, 80, 52, 38); contentpane.add(bt_multi); JButton bt_4 = new JButton("4"); bt_4.addactionlistener(new ActionListener() tf_visor.gettext()+"4"); ); bt_4.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_4.setbounds(10, 80, 52, 38); contentpane.add(bt_4); JButton bt_5 = new JButton("5"); bt_5.addactionlistener(new ActionListener() tf_visor.gettext()+"5"); ); bt_5.setfont(new Font("Arial Black", Font.BOLD, 12)); h t t p : / / m m h o s t e c. c o m. b r Página 5

bt_5.setbounds(66, 80, 52, 38); contentpane.add(bt_5); JButton bt_6 = new JButton("6"); bt_6.addactionlistener(new ActionListener() tf_visor.gettext()+"6"); ); bt_6.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_6.setbounds(121, 80, 52, 38); contentpane.add(bt_6); JButton bt_subt = new JButton("-"); bt_subt.addactionlistener(new ActionListener() ct.setoperador("-"); ""); ); bt_subt.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_subt.setbounds(176, 129, 52, 38); contentpane.add(bt_subt); JButton bt_1 = new JButton("1"); bt_1.addactionlistener(new ActionListener() tf_visor.gettext()+"1"); ); bt_1.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_1.setbounds(10, 129, 52, 38); contentpane.add(bt_1); JButton bt_2 = new JButton("2"); bt_2.addactionlistener(new ActionListener() tf_visor.gettext()+"2"); ); bt_2.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_2.setbounds(66, 129, 52, 38); contentpane.add(bt_2); JButton bt_3 = new JButton("3"); bt_3.addactionlistener(new ActionListener() tf_visor.gettext()+"3"); ); bt_3.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_3.setbounds(121, 129, 52, 38); contentpane.add(bt_3); h t t p : / / m m h o s t e c. c o m. b r Página 6

JButton bt_soma = new JButton("+"); bt_soma.addactionlistener(new ActionListener() ct.setoperador("+"); ""); ); bt_soma.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_soma.setbounds(176, 178, 52, 38); contentpane.add(bt_soma); JButton bt_limpa = new JButton("C"); bt_limpa.addactionlistener(new ActionListener() ct.setparc1(0); ct.setparc2(0); ct.setresultado(0); ct.setoperador(""); ""); ); bt_limpa.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_limpa.setbounds(10, 218, 218, 38); contentpane.add(bt_limpa); JButton bt_0 = new JButton("0"); bt_0.addactionlistener(new ActionListener() tf_visor.gettext()+"0"); ); bt_0.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_0.setbounds(66, 178, 52, 38); contentpane.add(bt_0); )); JButton bt_igual = new JButton("="); bt_igual.addactionlistener(new ActionListener() ct.igualar(); String.valueOf(ct.getResultado() ); bt_igual.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_igual.setbounds(121, 178, 52, 38); contentpane.add(bt_igual); JButton bt_ponto = new JButton("."); bt_ponto.addactionlistener(new ActionListener() tf_visor.gettext()+"."); h t t p : / / m m h o s t e c. c o m. b r Página 7

); bt_ponto.setfont(new Font("Arial Black", Font.BOLD, 12)); bt_ponto.setbounds(10, 178, 52, 38); contentpane.add(bt_ponto); h t t p : / / m m h o s t e c. c o m. b r Página 8