SlideShare uma empresa Scribd logo
Interface gráfica em Java
Técnicas de Programação
Prof. Iális Cavalcante
Engenharia da Computação
2011.1
Introdução
 GUI – graphical user interface
 ◦ Interface gráfica com o usuário
 Fornece ao programa “aparência” e
 comportamentos “diferenciados”:
 ◦ Nível básico de familiaridade com o
   programa;
 ◦ Reduz tempo de aprendizado;
 ◦ Aumenta habilidade de uso produtivo do
   programa.
Introdução
             Componentes GUI em um browser:

 Menu                                         Barra de
                                               menus


  Botão                                       Campo
                                              de texto




 Barra
de status
Introdução
      Componentes GUI – interação através do mouse,
      teclado, etc.
      Exemplos:
      ◦ JLabel – área exibível para textos não-editáveis ou ícones;
      ◦ JTextField – área para exibição e inserção de dados através do
        teclado;
      ◦ JButton – área que aciona um evento após clique do mouse;


                                                                JLabel

JTextField



                             JButton
Introdução
            JCheckBox – componente com dois estados: selecionado ou não-
            selecionado;
            JComboBox – lista de itens em que apenas um é selecionado, por
            mouse ou teclado;
            JLista – lista de itens em que mais de um podem ser selecionados;
            JPanel – contêiner em que os componentes podem ser colocados.


JCheckBox
                                                                JComboBox




 JList                                                           JPanel
Visão geral do Swing
 Pacote javax.swing
 ◦ Escritos, manipulados e exibidos completamente em Java
   (componentes Java puro);
 Pacote java.awt
 ◦ Estão diretamente associados à GUI da plataforma local;
 ◦ Exibidos de forma diferente, dependendo da plataforma;

 java.lang.Object

               java.awt.Component

                              java.awt.Container

                                           javax.swing.JComponent
Caixas de Diálogo
 No código AloMundo.java:

 ◦ JOptionPane.showMessageDialog( ... ) – return void
 ◦ Parâmetros:
    Component parentComponent
    Object message
    String title (sobrecarga 1)
    int messageType (sobrecarga 1)
    Icon icon (sobrecarga 2)
 ◦ Exemplo:
    JOptionPane.showMessageDialog(null,"Alô, mundo!","Primeiro
    programa com interface
    gráfica",JOptionPane.DEFAULT_OPTION);
Caixas de Diálogo
package aula.igrafica;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class AloMundo extends JFrame {
    public AloMundo(){
      JOptionPane.showMessageDialog(null,"Alô, mundo!","Primeiro
         programa com interface
      gráfica",JOptionPane.DEFAULT_OPTION);
    }
    public static void main(String args[]){
      AloMundo aplicacao = new AloMundo();
      aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
Caixas de Diálogo
◦ JOptionPane.showConfirmDialog( ... ) – return int
◦ Parâmetros:
   Component parentComponent
   Object message
   String title (sobrecarga 1)
   int optionType (sobrecarga 1)
   int messageType (sobrecarga 2)
   Icon icon (sobrecarga 3)
◦ Exemplo:
    JOptionPane.showConfirmDialog(null, "Alô,
    mundo!", "Primeiro programa com interface gráfica",
    JOptionPane.CANCEL_OPTION,
    JOptionPane.QUESTION_MESSAGE);
Caixas de Diálogo
 optionType
 ◦ YES_NO_OPTION,
   YES_NO_CANCEL_OPTION,
   OK_CANCEL_OPTION
 messageType
 ◦ ERROR_MESSAGE,
   INFORMATION_MESSAGE,
   WARNING_MESSAGE,
   QUESTION_MESSAGE, PLAIN_MESSAGE
Caixas de Diálogo
             No código Calculadora.java:
             JOptionPane.showInputDialog( ... ) – return String
              ◦ Parâmetros:
            Inicial                        Sobrecarga 1                  Sobrecarga 2
Component parentComponent Component parentComponent Component parentComponent
Object message                    Object message                Object message
Object initialSelectedValue       String title                  String title
                                  int messageType               int messageType
                                                                Icon icon
                                                                Object[] selectionValue
                                                                Object initialSelectedValue


              ◦ Exemplo:
                      JOptionPane.showInputDialog(null, "Qual o primeiro numero inteiro da
                      operação?", "Tá indo bem!", JOptionPane.QUESTION_MESSAGE);
Caixas de Diálogo
 ◦ JOptionPane.showOptionDialog( ... ) – return int
 ◦ Parâmetros:
     Component parentComponent
     Object message
     String title
     int optionType
     int messageType
     Icon icon
     Object[] options
     Object initialValue
 ◦ Exemplo:
     String[] opcoes = {“Confirmar”, “Cancelar”, “Fechar”};
     JOptionPane.showOptionDialog(this, "mensagem", "titulo",
     JOptionPane.OK_CANCEL_OPTION,
     JOptionPane.INFORMATION_MESSAGE, icon, opcoes,
     opcoes[0]);
Layout do Componente
 Aplicado em componentes containeres
 FlowLayout – objetos seguidos no
 container
 BorderLayout – objetos dispostos nas
 bordas e centro do container
 ◦ CENTER, NORTH, SOUTH, EAST, WEST
 GridLayout – objetos dispostos como
 uma tabela (colunas e linhas)
Layout do Componente
 Qual o resultado do código?

 FlowLayout layout = new FlowLayout();
 Container container = getContentPane();
 container.setLayout( layout );
 container.add(leftButton);
 container.add(centerButton);
 container.add(leftButton);
 setSize(300,75);
 setVisible(true);
Layout do Componente
 Qual o resultado do código?

 BorderLayout layout = new BorderLayout();
 Container container = getContentPane();
 container.setLayout( layout );
 container.add(leftButton, BorderLayout.WEST);
 container.add(myList, BorderLayout.CENTER);
 container.add(otherButton,
 BorderLayout.SOUTH);
 setSize(300,75);
 setVisible(true);
Layout do Componente
 Qual o resultado do código?

 GridLayout layout = new GridLayout(2,2);
 Container container = getContentPane();
 container.setLayout( layout );
 container.add(leftButton);
 container.add(myButton);
 container.add(otherButton);
 setSize(300,150);
 setVisible(true);
JFrame no NetBeans
 Novo -> JFrame
 public Construtor() {
    initComponents();
 }
 public void initComponents() { (...) }
 Área de Desenho e de Código.
Tratamento de Eventos
 Mecanismo:
 ◦ Origem do evento
 ◦ Objeto evento
 ◦ “Ouvinte” (listener) do evento
 Origem: componente GUI que interage
 (botão)
 Objeto: encapsula as informações sobre o
 evento.
 Ouvinte: recebe as informações do evento e
 responde este mesmo evento.
Tratamento de Eventos
Tarefas do programador:
◦ Registrar o ouvinte para o componente GUI;
◦ Implementar o método de tratamento de
  eventos.
Pacotes:
◦ java.awt.event
◦ javax.swing.event
Teclar Enter irá chamar o método
actionPerformed.
Tratamento de Eventos
         TextFieldHandler handler = new TextFieldHandler;
         textField1.addActionListener ( handler );
origem                                               objeto listener
         private class TextFieldHandler implements ActionListener {
             // processa eventos
             public void actionPerformed ( ActionEvent event ){
                  if (event.getSource() == textField1)             objeto evento
                           String saida = “TextField1 clicado!”;
             }
         }
Implementação 1
    Observe o uso das classes java.lang.Math e java.util.ArrayList
double res1 = Math.random();
System.out.println("Valor 1: "+res1);
                                                   Valor entre 0 e 1
double res2 = Math.random()*100;
System.out.println("Valor 2: "+res2);              Valor entre 0 e 100
int res3 = (int) Math.random()*100;
System.out.println("Valor 3: "+res3);              Mau uso do cast
int res4 = (int) (Math.random()*100);
System.out.println("Valor 4: "+res4);               Uso correto do cast
int[] res5 = new int[20];
ArrayList array = new ArrayList();
for(int j = 0; j < res5.length; j++){
    res5[j] = (int) (Math.random()*100);
    array.add(res5[j]);
                                           Valor do endereço de memória
}
System.out.println("Valor 5: "+res5);
                                           Valores de todos os elementos
System.out.println("Valor 6: "+array);
Implementação 1
 Pesquise sobre o uso da classe Math e
 implemente um programa Java (com interface
 gráfica) que tenha a entrada de dois números
 inteiros, numA e numB, e escreva a saída em
 valor numérico real:
 ◦   Método floor aplicado em numA/numB;
 ◦   Método ceil aplicado em numB/numA;
 ◦   Método pow aplicado a numAnumB e numBnumA;
 ◦   Método tan aplicado a tangente de numA, numB,
     numA/numB e numB/numA.
Implementação 2
 Associe as classes Scanner e ArrayList
 para a implementação do seguinte
 programa:
 ◦ Leia um vetor de 10 (dez) valores inteiros
   com a classe Scanner;
 ◦ Multiplique cada valor lido a um número
   aleatório que varie de 0 a 10000;
 ◦ Insira os 4 (quatro) maiores valores do novo
   vetor em um objeto da classe ArrayList;
 ◦ Escreva na saída o valor deste novo objeto.
Implementação 3
 Jogo de azar: “Craps”
 ◦ o jogador lança dois dados (cada um com seis faces,
   com 1, 2, 3, 4, 5 e 6 pontos respectivamente);
 ◦ calcula-se a soma das faces expostas:
    se soma = 7 ou 11 -> jogador venceu;
    se soma = 2, 3 ou 12 -> jogador perdeu;
    senão, soma torna-se a “pontuação” do jogador.
 ◦ os dados são lançados novamente:
    soma = pontuação -> jogador venceu;
    soma = 7 -> jogador perdeu;
    senão, lança os dados novamente.
 Projetar interface para este programa!

Mais conteúdo relacionado

PPT
Função afim
PPTX
Os quartis
PDF
Formulas geral para geometria analitica
PDF
Aula 3 - Algoritmos computacionais - parte 1
PPT
Estudo de uma função
PPT
Câmbio vascular
PPT
Algoritmo 04 - Estruturas de decisão
Função afim
Os quartis
Formulas geral para geometria analitica
Aula 3 - Algoritmos computacionais - parte 1
Estudo de uma função
Câmbio vascular
Algoritmo 04 - Estruturas de decisão

Mais procurados (20)

PDF
47029772 relatorio-de-quimica-analitica-analise-gravimetrica
PDF
Algoritmos e lp parte 4-vetores matrizes e registros
PPTX
Preparação e Diluição de uma Solução
PDF
Exercícios Resolvidos: Equação da reta tangente
PPT
Fruto 2012 aula
PPT
Biologia - Morfologia Vegetal
PPT
Introdução ao estudo das funções
PPT
Aula de reatividade, toxicologia e incompatibilidade de produtos quimicos
PPT
Algoritmo - tipos de dados
PDF
todas-as-formulas-de-matematica
PPT
Determinar o domínio, contradomínio, zeros, coordenada de vértice e variação ...
PPT
Função.quadratica
PPTX
Estrutura de dados em Java - Pilhas
PDF
Livro pdf - Estatística e Probabilidade: exercícios resolvidos - Prof. MSc. U...
PPT
1. célula vegetal revisão
PDF
Mat coordenadas polares, cilíndricas e esféricas
PPT
Moda, Média e Mediana
PDF
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
47029772 relatorio-de-quimica-analitica-analise-gravimetrica
Algoritmos e lp parte 4-vetores matrizes e registros
Preparação e Diluição de uma Solução
Exercícios Resolvidos: Equação da reta tangente
Fruto 2012 aula
Biologia - Morfologia Vegetal
Introdução ao estudo das funções
Aula de reatividade, toxicologia e incompatibilidade de produtos quimicos
Algoritmo - tipos de dados
todas-as-formulas-de-matematica
Determinar o domínio, contradomínio, zeros, coordenada de vértice e variação ...
Função.quadratica
Estrutura de dados em Java - Pilhas
Livro pdf - Estatística e Probabilidade: exercícios resolvidos - Prof. MSc. U...
1. célula vegetal revisão
Mat coordenadas polares, cilíndricas e esféricas
Moda, Média e Mediana
Exercicios Filas (Queues) - Estruturas de dados e algoritmos com Java
Anúncio

Destaque (7)

DOCX
Trabalho gui
PDF
GUI Aplicações Gráficas
PDF
Introdução à teoria da interactividade
PPTX
Interfaces gráficas de usuario
PPTX
Teoria da interactividade
PDF
Aula Interface Gráfica do Usuário
PPTX
Introdução à teoria da interatividade
Trabalho gui
GUI Aplicações Gráficas
Introdução à teoria da interactividade
Interfaces gráficas de usuario
Teoria da interactividade
Aula Interface Gráfica do Usuário
Introdução à teoria da interatividade
Anúncio

Semelhante a Interface grafica (20)

PPTX
Java: Introducao ao Swing
DOCX
Revisão de Java paraAV1.docx
PDF
Apostila:Curso de java II
PDF
Capitulo 14 -_componentes_gui_parte_1
PDF
Tutorial java swing
PPTX
Java gui
PDF
Java swingcomponentes
PDF
PDF
Apostila de programação visual netbeans
PDF
Apostil ade programação visual netbeans
PDF
AWT paradigmas de programação em java.pdf
PPT
IHC - Java Interface com o Usuário (Parte 1)
PDF
Apresentação-Resumo sobre o Java Swing.
PDF
Apostila: Netbeans
PDF
Construindo aplicações com netbeans
PDF
Aplicações java com netbeans
PDF
08 aula pratica_chaves
PDF
Aula 1 - Introdução à Interface gráfica do JAVA.pdf
Java: Introducao ao Swing
Revisão de Java paraAV1.docx
Apostila:Curso de java II
Capitulo 14 -_componentes_gui_parte_1
Tutorial java swing
Java gui
Java swingcomponentes
Apostila de programação visual netbeans
Apostil ade programação visual netbeans
AWT paradigmas de programação em java.pdf
IHC - Java Interface com o Usuário (Parte 1)
Apresentação-Resumo sobre o Java Swing.
Apostila: Netbeans
Construindo aplicações com netbeans
Aplicações java com netbeans
08 aula pratica_chaves
Aula 1 - Introdução à Interface gráfica do JAVA.pdf

Mais de Ialis Cavalcante (15)

PPTX
Assembleia com os Discentes - SACEC
PPT
Minicurso Ercemapi 2011
PDF
Unidade7 1
PDF
Programacao logica
PDF
05 poo-ii
PDF
Unidade06
PDF
Introducao ao greenfoot
PDF
Dinamicas
PDF
Unidade05
PDF
Unidade04
PDF
Unidade03
PDF
Unidade02
PDF
Técnicas de PDI com Java - Ercemapi 2009
PPT
CCT 23Maio2009 Sobral
PDF
Introducao ao LaTeX
Assembleia com os Discentes - SACEC
Minicurso Ercemapi 2011
Unidade7 1
Programacao logica
05 poo-ii
Unidade06
Introducao ao greenfoot
Dinamicas
Unidade05
Unidade04
Unidade03
Unidade02
Técnicas de PDI com Java - Ercemapi 2009
CCT 23Maio2009 Sobral
Introducao ao LaTeX

Último (20)

PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PPTX
435434725-A-Mineracao-No-Brasil-Colonial.pptx
PDF
saeb_documentos_de_referencia_versao_1.0.pdf
PDF
Células Introdução para as aulas de EJA.
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PPTX
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
PDF
Formação politica brasil_2017.pptx.pdf
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PDF
O retorno a origem (islã Islamismo)
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PDF
embriologia_animal_aula_share_2026_semestre
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PPTX
Programa Nacional de Saúde do Adulto.pptx
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PPTX
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
Cantores.pdf-Deslandes, Tinoco e Zambujo
435434725-A-Mineracao-No-Brasil-Colonial.pptx
saeb_documentos_de_referencia_versao_1.0.pdf
Células Introdução para as aulas de EJA.
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
Formação politica brasil_2017.pptx.pdf
Realismo e Naturalismo: Aluísio Azevedo.
Organizador Curricular da Educação em Tempo Integral.pdf
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
O retorno a origem (islã Islamismo)
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
embriologia_animal_aula_share_2026_semestre
Pedagogia em Ambientes Não Escolares.pptx
Programa Nacional de Saúde do Adulto.pptx
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
INDÚSTRIA_ Histórico da industrialização.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx

Interface grafica

  • 1. Interface gráfica em Java Técnicas de Programação Prof. Iális Cavalcante Engenharia da Computação 2011.1
  • 2. Introdução GUI – graphical user interface ◦ Interface gráfica com o usuário Fornece ao programa “aparência” e comportamentos “diferenciados”: ◦ Nível básico de familiaridade com o programa; ◦ Reduz tempo de aprendizado; ◦ Aumenta habilidade de uso produtivo do programa.
  • 3. Introdução Componentes GUI em um browser: Menu Barra de menus Botão Campo de texto Barra de status
  • 4. Introdução Componentes GUI – interação através do mouse, teclado, etc. Exemplos: ◦ JLabel – área exibível para textos não-editáveis ou ícones; ◦ JTextField – área para exibição e inserção de dados através do teclado; ◦ JButton – área que aciona um evento após clique do mouse; JLabel JTextField JButton
  • 5. Introdução JCheckBox – componente com dois estados: selecionado ou não- selecionado; JComboBox – lista de itens em que apenas um é selecionado, por mouse ou teclado; JLista – lista de itens em que mais de um podem ser selecionados; JPanel – contêiner em que os componentes podem ser colocados. JCheckBox JComboBox JList JPanel
  • 6. Visão geral do Swing Pacote javax.swing ◦ Escritos, manipulados e exibidos completamente em Java (componentes Java puro); Pacote java.awt ◦ Estão diretamente associados à GUI da plataforma local; ◦ Exibidos de forma diferente, dependendo da plataforma; java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent
  • 7. Caixas de Diálogo No código AloMundo.java: ◦ JOptionPane.showMessageDialog( ... ) – return void ◦ Parâmetros: Component parentComponent Object message String title (sobrecarga 1) int messageType (sobrecarga 1) Icon icon (sobrecarga 2) ◦ Exemplo: JOptionPane.showMessageDialog(null,"Alô, mundo!","Primeiro programa com interface gráfica",JOptionPane.DEFAULT_OPTION);
  • 8. Caixas de Diálogo package aula.igrafica; import javax.swing.JFrame; import javax.swing.JOptionPane; public class AloMundo extends JFrame { public AloMundo(){ JOptionPane.showMessageDialog(null,"Alô, mundo!","Primeiro programa com interface gráfica",JOptionPane.DEFAULT_OPTION); } public static void main(String args[]){ AloMundo aplicacao = new AloMundo(); aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
  • 9. Caixas de Diálogo ◦ JOptionPane.showConfirmDialog( ... ) – return int ◦ Parâmetros: Component parentComponent Object message String title (sobrecarga 1) int optionType (sobrecarga 1) int messageType (sobrecarga 2) Icon icon (sobrecarga 3) ◦ Exemplo: JOptionPane.showConfirmDialog(null, "Alô, mundo!", "Primeiro programa com interface gráfica", JOptionPane.CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
  • 10. Caixas de Diálogo optionType ◦ YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION messageType ◦ ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, PLAIN_MESSAGE
  • 11. Caixas de Diálogo No código Calculadora.java: JOptionPane.showInputDialog( ... ) – return String ◦ Parâmetros: Inicial Sobrecarga 1 Sobrecarga 2 Component parentComponent Component parentComponent Component parentComponent Object message Object message Object message Object initialSelectedValue String title String title int messageType int messageType Icon icon Object[] selectionValue Object initialSelectedValue ◦ Exemplo: JOptionPane.showInputDialog(null, "Qual o primeiro numero inteiro da operação?", "Tá indo bem!", JOptionPane.QUESTION_MESSAGE);
  • 12. Caixas de Diálogo ◦ JOptionPane.showOptionDialog( ... ) – return int ◦ Parâmetros: Component parentComponent Object message String title int optionType int messageType Icon icon Object[] options Object initialValue ◦ Exemplo: String[] opcoes = {“Confirmar”, “Cancelar”, “Fechar”}; JOptionPane.showOptionDialog(this, "mensagem", "titulo", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, icon, opcoes, opcoes[0]);
  • 13. Layout do Componente Aplicado em componentes containeres FlowLayout – objetos seguidos no container BorderLayout – objetos dispostos nas bordas e centro do container ◦ CENTER, NORTH, SOUTH, EAST, WEST GridLayout – objetos dispostos como uma tabela (colunas e linhas)
  • 14. Layout do Componente Qual o resultado do código? FlowLayout layout = new FlowLayout(); Container container = getContentPane(); container.setLayout( layout ); container.add(leftButton); container.add(centerButton); container.add(leftButton); setSize(300,75); setVisible(true);
  • 15. Layout do Componente Qual o resultado do código? BorderLayout layout = new BorderLayout(); Container container = getContentPane(); container.setLayout( layout ); container.add(leftButton, BorderLayout.WEST); container.add(myList, BorderLayout.CENTER); container.add(otherButton, BorderLayout.SOUTH); setSize(300,75); setVisible(true);
  • 16. Layout do Componente Qual o resultado do código? GridLayout layout = new GridLayout(2,2); Container container = getContentPane(); container.setLayout( layout ); container.add(leftButton); container.add(myButton); container.add(otherButton); setSize(300,150); setVisible(true);
  • 17. JFrame no NetBeans Novo -> JFrame public Construtor() { initComponents(); } public void initComponents() { (...) } Área de Desenho e de Código.
  • 18. Tratamento de Eventos Mecanismo: ◦ Origem do evento ◦ Objeto evento ◦ “Ouvinte” (listener) do evento Origem: componente GUI que interage (botão) Objeto: encapsula as informações sobre o evento. Ouvinte: recebe as informações do evento e responde este mesmo evento.
  • 19. Tratamento de Eventos Tarefas do programador: ◦ Registrar o ouvinte para o componente GUI; ◦ Implementar o método de tratamento de eventos. Pacotes: ◦ java.awt.event ◦ javax.swing.event Teclar Enter irá chamar o método actionPerformed.
  • 20. Tratamento de Eventos TextFieldHandler handler = new TextFieldHandler; textField1.addActionListener ( handler ); origem objeto listener private class TextFieldHandler implements ActionListener { // processa eventos public void actionPerformed ( ActionEvent event ){ if (event.getSource() == textField1) objeto evento String saida = “TextField1 clicado!”; } }
  • 21. Implementação 1 Observe o uso das classes java.lang.Math e java.util.ArrayList double res1 = Math.random(); System.out.println("Valor 1: "+res1); Valor entre 0 e 1 double res2 = Math.random()*100; System.out.println("Valor 2: "+res2); Valor entre 0 e 100 int res3 = (int) Math.random()*100; System.out.println("Valor 3: "+res3); Mau uso do cast int res4 = (int) (Math.random()*100); System.out.println("Valor 4: "+res4); Uso correto do cast int[] res5 = new int[20]; ArrayList array = new ArrayList(); for(int j = 0; j < res5.length; j++){ res5[j] = (int) (Math.random()*100); array.add(res5[j]); Valor do endereço de memória } System.out.println("Valor 5: "+res5); Valores de todos os elementos System.out.println("Valor 6: "+array);
  • 22. Implementação 1 Pesquise sobre o uso da classe Math e implemente um programa Java (com interface gráfica) que tenha a entrada de dois números inteiros, numA e numB, e escreva a saída em valor numérico real: ◦ Método floor aplicado em numA/numB; ◦ Método ceil aplicado em numB/numA; ◦ Método pow aplicado a numAnumB e numBnumA; ◦ Método tan aplicado a tangente de numA, numB, numA/numB e numB/numA.
  • 23. Implementação 2 Associe as classes Scanner e ArrayList para a implementação do seguinte programa: ◦ Leia um vetor de 10 (dez) valores inteiros com a classe Scanner; ◦ Multiplique cada valor lido a um número aleatório que varie de 0 a 10000; ◦ Insira os 4 (quatro) maiores valores do novo vetor em um objeto da classe ArrayList; ◦ Escreva na saída o valor deste novo objeto.
  • 24. Implementação 3 Jogo de azar: “Craps” ◦ o jogador lança dois dados (cada um com seis faces, com 1, 2, 3, 4, 5 e 6 pontos respectivamente); ◦ calcula-se a soma das faces expostas: se soma = 7 ou 11 -> jogador venceu; se soma = 2, 3 ou 12 -> jogador perdeu; senão, soma torna-se a “pontuação” do jogador. ◦ os dados são lançados novamente: soma = pontuação -> jogador venceu; soma = 7 -> jogador perdeu; senão, lança os dados novamente. Projetar interface para este programa!