• Save
Java AWT
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Java AWT

  • 2,529 views
Uploaded on

Introdução ao desenvolvimento de interfaces gráficas em linguagem Java, empregando a biblioteca Java AWT

Introdução ao desenvolvimento de interfaces gráficas em linguagem Java, empregando a biblioteca Java AWT

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,529
On Slideshare
2,528
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 1

http://localhost 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Universidade Presbiteriana Mackenzie Aula 2a: Java AWT Prof. Ms. Daniel Arndt Alves Faculdade de Computação e Informática Linguagem de Programação II Daniel Arndt Alves Java AWT 1
  • 2. Tópicos da Aula • Pacotes gráficos de Java – JFC • AWT • Swing • API Java 2D – API Java 3D Daniel Arndt Alves Java AWT 2
  • 3. Tópicos da Aula • Componentes AWT – Classe Button – Classe Label – Classe TextField – Classe TextArea – Classe Checkbox – Classe Choice – Classe List – Classe Scrollbar Daniel Arndt Alves Java AWT 3
  • 4. Tópicos da Aula • Containers AWT – Panel – Window – Frame – Dialog Daniel Arndt Alves Java AWT 4
  • 5. Pacotes gráficos de Java A linguagem Java possui várias funcionalidades gráficas, implementadas através de classes em pacotes. Os pacotes principais são: • JFC/AWT • JFC/Swing • JFC/Java2D • Java3D Daniel Arndt Alves Java AWT 5
  • 6. JFC JFC é uma abreviação de Java Foundation Classes, que engloba um grupo de detalhes para auxiliar no desenvolvimento de interfaces gráficas. JFC foi anunciado na JavaOne Developer Conference (1997). Daniel Arndt Alves Java AWT 6
  • 7. Detalhes englobados pelo JFC • AWT • Componentes Swing • Suporte Look-and-Feel (Java Look, CDE/Motif Look, Windows Look) • API para acessibilidade • API Java 2D • Suporte para operações Drag-and-Drop Daniel Arndt Alves Java AWT 7
  • 8. AWT (Abstract Window Toolkit) Pacote mais básico para se trabalhar com interfaces gráficas em Java. Este pacote possui classes para os principais componentes e containers de uma interface, tais como botões, janelas, etc, além de permitir um tratamento bem simplificado de eventos. Daniel Arndt Alves Java AWT 8
  • 9. Componentes Swing Componentes mais especializados que os componentes AWT. Os componentes Swing são implementados sem nenhum código nativo (ao contrário dos componentes AWT que, na maioria dos casos, implementam várias funcionalidades através de métodos nativos). Daniel Arndt Alves Java AWT 9
  • 10. API Java 2D Pacote que permite facilmente incorporar alta qualidade gráfica em gráficos 2D, textos, imagens em aplicações e em applets. Por exemplo, existe um extenso suporte para composição de imagens e tratamento de imagens com canal alfa. Daniel Arndt Alves Java AWT 10
  • 11. API Java 3D A API Java 3D é uma interface para escrever programas para exibir e interagir com elementos tridimensionais. A API disponibiliza uma coleção de construções de alto nível para criar e manipular geometria 3D e estruturas para “renderizar” a geometria. Pode ser integrada com VRML. Daniel Arndt Alves Java AWT 11
  • 12. COMPONENTES AWT O pacote AWT disponibiliza oito componentes básicos de interface: • Button • Label • TextField • TextArea • Checkbox • Choice • List • Scrollbar Daniel Arndt Alves Java AWT 12
  • 13. Funcionamento dos Componentes Quando estes componentes são mostrados, eles são desenhados segundo o suporte gráfico do usuário. O AWT implementa isto armazenando, dentro do componente, um segundo objeto chamado Peer. Quando um componente recebe uma mensagem para ser desenhado, ele passa esta mensagem para o objeto Peer, que faz a interface com o sistema operacional usando métodos nativos. Daniel Arndt Alves Java AWT 13
  • 14. Funcionamento dos Componentes Os objetos peer transformam requisições AWT em rotinas da interface nativa do usuário e envia o feedback do sistema operacional para o AWT. COMPONENTE PEER SISTEMA OPERACIONAL Daniel Arndt Alves Java AWT 14
  • 15. Classe Button Daniel Arndt Alves Java AWT 15 Implementa o elemento de interface botão com rótulo. Construtores: • public Button( ) Botão sem rótulo • public Button(String rótulo) Botão com rótulo Alguns métodos: • public String getLabel() rótulo do botão • public void setLabel(String r) altera rótulo do botão
  • 16. Classe Button (Exemplo) Button b1 = new Button( ); Button b2 = new Button("Aperte-me"); Daniel Arndt Alves Java AWT 16
  • 17. Classe Label Daniel Arndt Alves Java AWT 17 Implementa o elemento de interface rótulo. Construtores: • public Label( ) Rótulo vazio • public Label (String rótulo) Rótulo não-vazio Alguns métodos: • public String getText() texto do rótulo • public void setText(String r) altera texto do rótulo
  • 18. Classe Label (Exemplo) Label r1 = new Label( ); Label r2 = new Label("label2"); Daniel Arndt Alves Java AWT 18
  • 19. Classe TextField Implementa o elemento de interface caixa de texto. Construtores: • public TextField( ) Tamanho do container • public TextField(int cols) Tamanho em cols • public TextField(String texto) Tamanho do texto Alguns métodos: • public String getText() texto no componente • public void setText(String r) altera texto no componente Daniel Arndt Alves Java AWT 19
  • 20. Classe TextField (Exemplo) TextField t1 = new TextField(30); TextField t2 = new TextField("inicial"); Daniel Arndt Alves Java AWT 20
  • 21. Classe TextArea Implementa o elemento de interface área de texto. Construtores: • public TextArea(int lin, int cols) Tamanho lin x cols • public TextArea(String txt, int lin, int cols) Tamanho lin x cols com texto inicial txt Alguns métodos: • public String getText() texto no componente • public void setText(String r) altera texto no componente Daniel Arndt Alves Java AWT 21
  • 22. Classe TextArea (Exemplo) TextArea t1 = new TextArea(3,10); TextArea t2 = new TextArea("texto...",3,30); Daniel Arndt Alves Java AWT 22
  • 23. Classe Checkbox Implementa o elemento de interface botão liga/desliga. Construtores: • public Checkbox( ) Botão sem rótulo • public Checkbox(String rótulo) Botão com rótulo Alguns métodos: • public String getLabel() rótulo do botão • public void setLabel(String r) altera rótulo do botão • public boolean getState() retorna o estado do botão Daniel Arndt Alves Java AWT 23
  • 24. Classe Checkbox (Exemplo) Checkbox c1 = new Checkbox(); Checkbox c2 = new Checkbox("rotulo"); Daniel Arndt Alves Java AWT 24
  • 25. Radio Buttons Daniel Arndt Alves Java AWT 25 Componentes Checkbox podem ser agrupados através de instância da classe CheckboxGroup. Somente um dos componentes do CheckboxGroup pode estar selecionado num determinado instante. Botões com estas características são chamados de “radio buttons”. Construtor: public Checkbox(String rotulo, CheckboxGroup grupo, boolean estado_inicial)
  • 26. Radio Buttons (Exemplo) CheckboxGroup grupo = new CheckboxGroup( ); Checkbox op1 = new Checkbox("masculino",grupo,true); Checkbox op2 = new Checkbox("feminino",grupo,false); Daniel Arndt Alves Java AWT 26
  • 27. Classe Choice Implementa o elemento de interface lista pop-down. Construtor: public Choice( ) Alguns métodos: • public synchronized void addItem(String item) Adiciona um item à lista • public String getSelectedItem( ) String da opção escolhida Daniel Arndt Alves Java AWT 27
  • 28. Classe Choice (Exemplo) Choice c = new Choice(); c.addItem("Primeiro"); c.addItem("Segundo"); c.addItem("Terceiro"); c.addItem("Quarto"); Daniel Arndt Alves Java AWT 28
  • 29. Classe List Implementa o elemento de interface lista, com possibilidade de múltiplas escolhas. Construtor: public List(int lin,boolean multiplo) lin : número de opções visíveis multiplo: true (seleção múltipla) false (seleção simples) Daniel Arndt Alves Java AWT 29
  • 30. Classe List Alguns métodos: • public synchronized void addItem(String item) Adiciona um item à lista • public String[] getSelectedItems( ) Vetor de Strings com as opções escolhidas Daniel Arndt Alves Java AWT 30
  • 31. Classe List (Exemplo) List c = new List(3,true); c.addItem("Primeiro"); c.addItem("Segundo"); c.addItem("Terceiro"); c.addItem("Quarto"); Daniel Arndt Alves Java AWT 31
  • 32. Classe Scrollbar Implementa o elemento de interface barra de rolagem. Construtores: public Scrollbar( ) barra de rolagem vertical public Scrollbar(int orientação, int valor_inicial, int incremento, int mínimo, int máximo) Daniel Arndt Alves Java AWT 32
  • 33. Classe Scrollbar Alguns métodos: • public int getValue() Posicionamento da barra de rolagem • public void setValue(int pos) Muda posicionamento da barra de rolagem para pos Daniel Arndt Alves Java AWT 33
  • 34. Classe Scrollbar (Exemplo) Scrollbar b1=new Scrollbar(); Scrollbar b2=new Scrollbar(Scrollbar.HORIZONTAL, 50, 10, 0, 100); Daniel Arndt Alves Java AWT 34
  • 35. Containers Containers são elementos que armazenam componentes gráficos. Não é possível usar um componente sem que ele esteja dentro de um container. Containers podem, também, armazenar outros containers. Daniel Arndt Alves Java AWT 35
  • 36. Containers do AWT O AWT trabalha com quatro tipos de containers: • Painel (Panel) • Janela (Window) • Frame • Diálogo (Dialog) Daniel Arndt Alves Java AWT 36
  • 37. Painel Painel é um container “puro”, isto, não é propriamente uma janela e seu único propósito é organizar os componentes numa janela, utilizando gerenciadores de layout. Um painel, como qualquer outro container, pode ser colocado dentro de outro painel. Uma classe muito útil, derivada da classe Panel, é a classe Applet. Daniel Arndt Alves Java AWT 37
  • 38. Declaração e utilização de painéis Button botaoAB=new Button("Abrir"); Button botaoFE=new Button("Fechar"); Panel painel=new Panel(); // Instancia Painel painel.setLayout(new FlowLayout()); painel.add(botaoAB); // Coloca botão Abrir no painel painel.add(botaoFE); // Coloca botão Fechar no painel Daniel Arndt Alves Java AWT 38
  • 39. Janelas A classe Window, que implementa as funcionalidades de janelas em Java, é muito parecida como Panel, exceto que ela cria sua própria janela de primeiro nível, em vez de estar contida dentro de um Panel. São muito utilizadas para menus do tipo pop-up. Geralmente, utiliza-se frames no lugar de janelas, uma vez que são mais especializados. Daniel Arndt Alves Java AWT 39
  • 40. Frame Frames são janelas especializadas que conseguem interagir com o usuário independente de outras janelas. Com frames, um aplicativo pode criar várias janelas independentes. Daniel Arndt Alves Java AWT 40
  • 41. Declaração e utilização de frames Button botaoAB=new Button(“Abrir...”); Button botaoFE=new Button(“Fechar...”); Frame frame=new Frame(“Exemplo de Frame”); setLayout(new FlowLayout()); frame.add(botaoAB); // Coloca botão Abrir no frame frame.add(botaoFE); // Coloca botão Fechar no frame frame.show(); // Exibe o frame frame.hide(); // Oculta o frame Daniel Arndt Alves Java AWT 41
  • 42. Diálogos Diálogos são janelas que são ativadas momentaneamente para redirecionar um processamento. Por exemplo, solicitar confirmação de substituição de arquivo numa operação de cópia. Daniel Arndt Alves Java AWT 42
  • 43. Diálogos Diálogos podem ser: • modais: impedem a entrada para outras janelas enquanto estão ativos. • não-modais: não impedem a entrada para outras janelas. Os elementos de um diálogo são definidos por um frame. Daniel Arndt Alves Java AWT 43
  • 44. Declaração e utilização de diálogos Button botaoOK=new Button("OK"); Button botaoNO=new Button("NO"); Frame frame=new Frame("Exemplo de Frame"); Dialog dialogo; // Referência para diálogo frame.setLayout(new FlowLayout()); frame.add(new Label("Deseja fechar o arquivo? "); frame.add(botaoOK); // Coloca botão OK no frame frame.add(botaoNO); // Coloca botão Cancel no frame dialogo=new Dialog(frame,"Exemplo de Dialogo",true); // Cria diálogo // | | | // frame referência título do diálogo modal ( false=não modal) dialogo.show(); // Mostra diálogo Daniel Arndt Alves Java AWT 44
  • 45. Daniel Arndt Alves Java AWT 45
  • 46. Daniel Arndt Alves Java AWT 46
  • 47. Imagens • http://www.goldb.org/goldblog/cmg_images/ real_programmers_binary.jpg • http://sandersconsulting.com/Portals/58319/i mages/checklist.jpg Daniel Arndt Alves Java AWT 47
  • 48. Obrigado Daniel Arndt Alves http://www.progdan.pro.br/ daniel.alves@mackenzie.br progdan@progdan.pro.br Daniel Arndt Alves Java AWT 48