Java 17

September 29, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Java 17...

Description

 

 Java 2 Standard Edition

Como construir  aplicações gr á ficas e applets Held He lder er da Ro Roch chaa www.argonavis.com.br

 

 AWT e Swing 

 AWT ou A  AWT ou  Abstract bstract W indow indow T oolki oolkitt é o an antitigo go cconj onjun unto to de ferram ferramentas entas para interfaces interfaces gráfi gráficas cas do Ja Java va 

 





Serve para oferecer infraestrutura mínima de interface  gráfica (nivela por baixo) Componentes têm aparência dependente de plataforma Limitado em recursos devido a depender de suporte de cada plataforma para os componentes oferecidos Bugs e incompatibilidades entre plataformas

 JFC (  Java  JFC (   Java F oundation oundation C lasses) lasses) oferece uma interface muito mais rica  

Swing éisooo impo nome nom ertar dar java.awt dado ado à co cole leçã ção o de de com compo pone nent ntes esusar JFC  É pr prec ecis im port  java.awt e javax.swing  javax.swing para  para

 

História do AW AWT   

Interf Inte rfac acee gr gráf áfic ica: a: comp compon onen ente tes, s, lay layou out, t, even evento toss  Java 1.0 





 Java 1.1 



Interrfa Inte face ce que ro roda da de fo form rmaa me medí díoocr cree em tod odas as as  plataformas (“Abominable” Window Toolkit)  Modelo de eventos arcaico  Melhora do modelo de eventos: por delegação usando

 Javadesign 1.2 pattern Observer  

 JFC/Swing substitui totalmente totalmente componentes componentes AWT   Mantém e estende a interface de eventos e layout

 

 Java Foundation Classes  

Parte do J2S Parte J2SEE desde desde Jav Javaa SDK 1.2. 1.2. Con Consis siste te de: de: 1. Swing: Swing: com compon oneentes lleeves, que nã não ddeependem de impl im plem ement entaç ação ão na natitiva va (veja (veja Java Java Tu Tuto toria rial)l) 

Umaa das ma Um mais is co comp mple leta tass bi bibl blio iote teca cass gr gráfi áfica cass já cr cria iadas das



Baseada Bas eada em JavaBean Beans: s:ável fel ferr errame amenta ntass GUI con conseg seguem uem ger gerar ar có códi digo go le legí gíve vellJava e re reut utililiz izáv 



2. "Look & Feel": Feel": Drag Drag & drop drop,, cu cutt & ppas aste te,, und undo/r i18n, texto Biblo/redo ioteedo, ca ,di1 e 8n, comtex pontoeneesti tstiliza eslizado (apdo enas o SSw wing) é compa com patítíve vell ccom om JDK 1. 1.1. 1.44 

Pode ser baixada separadamente e usada com versões limitadas do Java como J# como J# da Microsoft e MacOS 9

 

 JFC/Swing 

Veja demo em $JAVA_HOME/demo/jfc/SwingSet2/ java -j > java -jar ar Swi Swing ngSe Set2 t2.j .jar ar Swi Swing ngSe Set2 t2



Como implementar aplicações com Swing?  

 Java Tutorial Tutorial:: Swing "trai "trail"l" possui guias guias passo-apasso-a-passo passo para para uso de cada componente e recurso do JFC e Swing (www.java.sun. (www.java.sun.com/tutorial) com/tutorial)

 

Tipos de aplicações 

Há dois tipos tipos ddee apl aplica icações ções ggráf ráfica icass em Ja Java va  





Componentes iniciados via browser ( applets applets )  )  Aplicações standalone iniciadas via sistema operacional

 Ambas capturam eventos do sistema e desenham-se gráfico fornecido  fornecido sistema sobre umsão contexto gráfico  Applets aplicações especiais quepelo rodam a partir de um browser 







São componentes que executam container (ambiente operacional) fornecidoem peloumbrowser Browser Brow ser é quem contr controla ola seu ciclo ciclo de vida vida (início, (início, fim, etc.) etc.) Geralmente ocupam parte da janela do browser mas  podem abrir janelas extras Possuem restrições de segurança

 

 java.awt.Component 

Raiz da hierarquia de componentes gráficos 





Há um Co Compo mponen nentt por ttrás rás de de tud tudoo que ppode ode sser er  pintado tela (chamados pelo sistema): Principaisnamétodos   



Componentes Swing herdam de javax.swing.JCom de javax.swing.JComponent ponent,, quee é "n qu "net eto" o" de Component

void paint void  paint (ja (java. va.awt awt.Gr .Graph aphics ics g) void repaint() () va.awt void repaint update(ja update (java. awt.Gr .Graph aphics ics g)

O objeto passado como argumento durante a execução (contexto gráfico) é, na verdade, um  java.awt.Graphics2D (subclasse de Graphics)

 

Componentes AWT   

Há dois tipos tipos iimpo mporta rtante ntess de componen componentes tes:: 1) descendentes diretos de java.awt.Component de java.awt.Component 



"Apenas" componentes componentes:: descendentes da classe Component que não são descendentes de Container (todos os componentes da AWT)

2) descendentes de java.awt.Container de java.awt.Container 

Subclasse de java.awt.Compon java.awt.Component ent

 

São descendentes "recipientes."." Podem "recipientes conter outros Frame, componentes. da classe Container: Panel,  Applet e JComponent JComponent (raiz da hierarquia dos componentes Swing)

 

Containers essenciais 

Frame (AWT) e JFrame e JFrame (Swing) 



Panel e JPanel e JPanel  



Servem de base para qualquer aplicação gráfica Container de propósito geral Serve para agrupar outros componentes e permitir layout em camadas

 Applet e JApplet e JApplet 



Tipo de Panel (JPanel) que serve de base para aplicações que rodam dentro de browsers Pode ser inserido dentro de uma página HTML e ocupar o contexto gráfico do browser

 

Exemplo de JFrame import java.awt.*; import javax.swing.*;  public class Swinggy extends JFrame { Swinggy(String (String nome) {  public Swinggy super(nome); this.setSize(400,350); this.setSize(400,350); this.setVisible( true); ); this.setVisible(true }  public static void   main(String[] args) {  main(String[] Swinggy("Swinggy "Swinggy 1.0"); 1.0"); new Swinggy( } }

 

 AWT thread 

Threaad qu Thre quee é re resp spon onsá sáve vell ppel elaa atualização do contexto gráfico 



Chama update() (método de Component) e passa referência para o contexto gráfico como argumento sempre que for necessário redesenhá-lo.

 Método update(Graphics g)

1. Limpa a área a ser redesenhada (contexto gráfico)



2. Chama paint(g) Chama paint(g)  Métodos update() e paint() nunca devem ser chamados diretamente a partir do thread principal 



Use repaint(), repaint() , que faz o agendamento de uma chamada a update() através do AWT thread Sobreponha update() se desejar

 

 java.awt.Graphics   

Representa o contexto gráfico de cada componente Passado pelo sistema quando chama update() Programador pode desenhar no componente usando referência recebida via paint() ao sobrepor o método: g) {  public void paint(Graphics paint(Graphics g) Graphics2D g2 = (Graphics2D) g; Shap Sh ape e s = new new Ell Ellip ipse se2D 2D.D .Dou oubl ble( e(); ); g2.setColor(Color.red); g2 .setColor(Color.red); g2.draw(s); g2 .draw(s); }



Para defini definirr o que sserá erá desenhado desenhado em de determ terminado inado componente, sobreponha seu método paint() método paint() 

Use Graphics2D! Mais recursos!

 

 Applets 

 Aplicação gráfica que roda em browser 





Toda a infra infraestru estrutura tura herda herdada da da class classee  javax.swing.JApplet (ou java.applet.Applet) É um compon componente ente de um um framewor frameworkk que execut executaa em ambiente de execução (container) no browser

 Métodos de JApplet, chamados automaticamente, devem dev em ser ssobr obrepo eposto stos. s. Ci Ciclo clo de de vid vida: a:   

init() applet start()- -inoicqiauleizafaçzãeor dqousacnodm o paopnpelentteinsicdioarapp stop() - o que fa fazer antes de de ap applet parar

 

destroy()- o- qouqeude  paint() deefsaeznehraqrunaondconatpepxtleotgtreárfm icionar

 

Ciclo de vida start

applet é carregada

descartando visitando uma página

saindo ou descarregando uma página

init

uma página

destroy

stop 

 paint() é outro outro método método que é chamad chamadoo auto automat matica icamen mente, te, mas não faz parte do ciclo de vida do Applet, especificamente  

Faz parte do ciclo de vida de qualquer aplicação gráfica No Applet, Applet, é cham chamado ado depois depois do start() start() e sempre sempre que o contexto contexto  gráfico do applet applet for precisar precisar ser atualizado (redimensionamento (redimensionamento da  janela do browser, ocultação do applet por outra janela, etc.) etc.)

 

Como construir applets 

 Applet mínimo

import javax.swing.*; import java.awt.*;

Comentário pelo appletviewerusado para exibir  Applet: > appletviewer HelloApplet.java

/* *   */  public class HelloApplet HelloApplet extends JApplet {  public void init() init() { Container pane = this.getContentPane(); Web"); ); JLabel msg = new JLabel("Hello JLabel("Hello Web"  pane.add(msg); }

}

 

Como usar applets 

 Até Java 1.1: para incluir um applet na página Web usava-se code=”pacote.Classe ”pacote.Classe” ”    ”>     ”>     ”>    



 Java 2 (J2SDK 1.2 em diante ) usa HTML 4.0 (que tornou o tag obsoleto) classid=”XXX-XXX” XX” ...> ...      
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF