SlideShare uma empresa Scribd logo
1 de 50
Universidade Presbiteriana Mackenzie	
  
Aula	
  3:	
  Hierarquia	
  Window	
  
Prof. Ms. Daniel Arndt Alves
Faculdade	
  de	
  Computação	
  e	
  Informá=ca	
  
Computação e Informática
Faculdade de
Linguagem	
  de	
  
Programação	
  II	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   1	
  
Tópicos	
  da	
  Aula	
  
•  Hierarquia	
  Window	
  dentro	
  do	
  
pacote	
  javax.swing
•  Layouts	
  do	
  Swing	
  
•  Bordas	
  
•  Tratamento	
  de	
  eventos	
  
•  Manipulação	
  de	
  look-­‐and-­‐feel	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   2	
  
Hierarquia	
  Window	
  	
  
Além da classe JPanel, já vista nas aulas
anteriores, o pacote Swing fornece uma série
de alternativas para containers.
Uma destas alternativas inicia-se com a
hierarquia da classe Window, definida no
pacote java.awt.	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   3	
  
Hierarquia	
  Window(II)	
  	
  
Window	
  
	
  (	
  AWT	
  )	
  
Dialog	
  
	
  (AWT)	
  
Frame	
  
(AWT)	
  
JWindow	
  
JDialog	
  
JFrame	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   4	
  
Classe	
  JFrame	
  	
  
A classe JFrame é muito similar à classe Frame
do AWT. Porém, alguns pontos são exclusivos
à classe JFrame:
•  os componentes não são inseridos diretamente
com add
•  a alteração não é feita diretamente só com
setLayout
•  pode-se definir comportamentos-padrão para
evento de fechamento da janela
	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   5	
  
JFrame (Exemplo)	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   6	
  
Código	
  do	
  Exemplo	
  	
  
public class FrameTester {
public static void main (String args[]) {
JFrame f = new JFrame ("JFrame Example");
Container c = f.getContentPane();
c.setLayout (new FlowLayout());
for (int i = 0; i < 5; i++) {
c.add (new JButton ("No"));
c.add (new Button ("Batter"));
}
c.add (new JLabel ("Swing"));
f.setSize (300, 200);
f.show();
}
}	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   7	
  
Evento	
  de	
  fechamento	
  de	
  janela	
  	
  
Além do tradicional tratamento de evento de
fechamento de janela do AWT, o pacote Swing
disponibiliza outras possibilidades de
tratamento através do método
setDefaultCloseOperation(int operação)
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   8	
  
Evento	
  de	
  fechamento	
  de	
  janela	
  	
  
O parâmetro operação pode ser uma das seguintes constantes:
•  DO_NOTHING_ON_CLOSE: comportamento do frame
do AWT
•  HIDE_ON_CLOSE: comportamento padrão. A janela é
apenas escondida.
•  DISPOSE_ON_CLOSE: libera todo o conteúdo da janela.
•  EXIT_ON_CLOSE: força chamada de System.exit()
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   9	
  
Layout	
  em	
  Swing	
  	
  
Além dos tradicionais gerenciadores de layout do
AWT, o pacote javax.swing disponibiliza
4 gerenciadores adicionais:
•  ScrollPaneLayout
•  ViewportLayout
•  BoxLayout
•  OverlayLayout
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   10	
  
ScrollPaneLayout	
  	
  
É o gerenciador de layout utilizado pelo
JScrollPane. Não há necessidade de se
instanciar uma classe com este gerenciador
nem associá-la a um JScrollPane, pois isto
já é feito automaticamente.
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   11	
  
ViewportLayout	
  	
  
É o gerenciador de layout usado pelo
componente JViewport.
Assim como no ScrollPaneLayout, o
gerenciador ViewportLayout já está
automaticamente associado com um objeto
JViewPort.
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   12	
  
BoxLayout	
  	
  
É um gerenciador que permite arranjar os
componentes ao longo dos eixos x ou y.
O construtor do BoxLayout tem a seguinte
forma:
BoxLayout(container, eixo)
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   13	
  
Código	
  do	
  Exemplo	
  	
  
class BoxLayoutTest extends JPanel {
BoxLayoutTest() {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
TextField textField = new TextField();
TextArea textArea = new TextArea(4, 20);
JButton button = new JButton("Tiger", new ImageIcon("SmallTiger.gif"));
add(new JLabel("TextField:"));
add(textField);
add(new JLabel("TextArea:"));
add(textArea);
add(new JLabel("Button:"));
add(button);
}
}	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   14	
  
BoxLayout	
  (Exemplo)	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   15	
  
Bordas	
  	
  
O pacote javax.swing.border consiste de
várias classes para desenhar bordas
envolvendo componentes.
Todas estas classes implementam a interface
Border.
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   16	
  
Interface	
  Border
A interface Border consiste de três métodos:
•  public Insets getBorderInsets(Component c):
define a área útil para desenhar a borda
•  public boolean isBorderOpaque(): define se a
borda é opaca ou transparente
•  public void paintBorder(Component c, Graphics
g, int x, int y, int width, int height): define como
desenhar a borda.
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   17	
  
Implementações	
  pré-­‐definidas	
  de	
  bordas	
  
O p a c o t e j a v a x . s w i n g . b o r d e r
disponibiliza 9 classes que implementam a
interface Border:
	
  AbstractBorder BevelBorder
CompoundBorder EmptyBorder
EtchedBorder LineBorder
MatteBorder SoftBevelBorder
TitleBorder
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   18	
  
Definição	
  de	
  bordas	
  
Caso as bordas anteriores não sejam suficientes
para atender às necessidades, basta
implementar os métodos da interface Border,
mostrados anteriormente.	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   19	
  
Instanciação	
  de	
  bordas	
  
Bordas podem ser criadas invocando-se o
construtor de uma das classes anteriores
(exceto AbstractBorder) ou chamando os
métodos estáticos da classe BorderFactory
(pacote javax.swing).
Para se atribuir uma borda a um componente/
c o n t a i n e r , u t i l i z a - s e o m é t o d o
setBorder(borda).	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   20	
  
Bordas	
  (Exemplo)	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   21	
  
Bordas	
  (Exemplo)	
  
public class BorderPanel extends JPanel {
class MyBorder implements Border {
Color color;
public MyBorder (Color c) {
color = c;
}
public void paintBorder (Component c, Graphics g, int x, int y,
int width, int height) {
Insets insets = getBorderInsets(c);
g.setColor (color);
g.fillRect (x, y, 2, height);
g.fillRect (x, y, width, 2);
g.setColor (color.darker());
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   22	
  
Bordas	
  (Exemplo)	
  
g.fillRect (x+width-insets.right, y, 2, height);
g.fillRect (x, y+height-insets.bottom, width, 2);
}
public boolean isBorderOpaque() {
return false;
}
public Insets getBorderInsets(Component c) {
return new Insets (2, 2, 2, 2);
}
}	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   23	
  
Bordas	
  (Exemplo)	
  
public BorderPanel() {
setLayout (new GridLayout (4, 3, 5, 5));
JButton b = new JButton("Empty");
b.setBorder (new EmptyBorder (1,1,1,1));
add(b);
b = new JButton ("Etched");
b.setBorder (new EtchedBorder ());
add(b);
b = new JButton ("ColorizedEtched");
b.setBorder (new EtchedBorder (Color.red, Color.green));
add(b);	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   24	
  
Bordas	
  (Exemplo)	
  
b = new JButton ("Titled/Line");
b.setBorder(new TitledBorder (
new TitledBorder(
LineBorder.createGrayLineBorder(),"Hello"),
"World",
TitledBorder.RIGHT,
TitledBorder.BOTTOM));
add(b);
b = new JButton ("Bevel Up");
b.setBorder(new BevelBorder(BevelBorder.RAISED));
add(b);	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   25	
  
Bordas	
  (Exemplo)	
  
b = new JButton ("Bevel Down");
b.setBorder(new BevelBorder(BevelBorder.LOWERED));
add(b);
b = new JButton ("Soft Bevel Up");
b.setBorder(new SoftBevelBorder(SoftBevelBorder.RAISED));
add(b);
b = new JButton ("Soft Bevel Down");
b.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED));
add(b);
b = new JButton ("Matte");
b.setBorder(new MatteBorder(5, 10, 5, 10, Color.red));
add(b);	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   26	
  
Bordas	
  (Exemplo)	
  
b = new JButton ("Matte Icon");
Icon icon = new ImageIcon ("SmallTiger.gif");
b.setBorder(new MatteBorder(10, 10, 10, 10, icon));
add(b);
b = new JButton ("ColorizedBezel");
b.setBorder(new BevelBorder(BevelBorder.RAISED,
Color.red, Color.pink));
add(b);
b = new JButton ("My/Compound");
b.setBorder(new CompoundBorder(new MyBorder(Color.red),
new CompoundBorder (new MyBorder(Color.green),
new MyBorder(Color.blue))));
add(b);
}
}	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   27	
  
Eventos	
  	
  
Como grande parte dos elementos de interface do
swing é derivada da classe básica
J C o m p o n e n t ( d e r i v a d a d e
java.awt.Container), os métodos de
gerenciamento de evento definidos no AWT
podem ser aplicados neste contexto, embora a
maioria das construções utilize classes e
interfaces (listeners) definidos dentro do
pacote javax.swing
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   28	
  
Eventos	
  	
  
Para tratar convenientemente os eventos dentro
do swing, existe a necessidade de se conhecer:
•  tipos de objetos instanciados nos eventos
•  interfaces do tipo listener para implementação
•  fontes de eventos e interfaces utilizadas por
estas fontes
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   29	
  
Objetos	
  de	
  evento	
  	
  
AncestorEvent CaretEvent
ChangeEvent DocumentEvent
HyperlinkEvent InternalFrameEvent
ListDataEvent ListSelectionEvent
MenuDragMouseEvent MenuEvent
MenuKeyEvent PopupMenuEvent
TableColumnModelEvent TableModelEvent
TreeExpansionEvent TreeModelEvent
TreeSelectionEvent UndoableEditEvent
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   30	
  
Exemplo	
  de	
  objetos	
  de	
  evento	
  	
  
JMenu file = new JMenu ("File");
file.addMenuListener (new MenuListener() {
public void menuSelected (MenuEvent e) {
System.out.println ("Selected");
}
public void menuDeselected (MenuEvent e) {
System.out.println ("Deselected");
}
public void menuCanceled (MenuEvent e) {
System.out.println ("Canceled");
}
});	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   31	
  
Interfaces	
  do	
  apo	
  listener	
  	
  
O pacote swing disponibiliza várias interfaces
para tratamento de eventos.
Estas interfaces estão localizadas no pacote
javax.swing.event.
Grande parte das implementações em Swing
utilizam os métodos destas interfaces para
tratamento dos eventos.
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   32	
  
Métodos	
  das	
  interfaces	
  listener	
  
AncestorListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ancestorAdded	
  (AncestorEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ancestorMoved	
  (AncestorEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ancestorRemoved	
  (AncestorEvent)	
  
CaretListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  caretUpdate	
  (CaretEvent)	
  
CellEditorListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ediangCanceled	
  (ChangeEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ediangStopped	
  (ChangeEvent)	
  
ChangeListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  stateChanged	
  (ChangeEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   33	
  
Métodos	
  das	
  interfaces	
  listener	
  
DocumentListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  changedUpdate	
  (DocumentEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  insertUpdate	
  (DocumentEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  removeUpdate	
  (DocumentEvent)	
  
HyperlinkListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  hyperlinkUpdate	
  (HyperlinkEvent)	
  
InternalFrameListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameAcavated	
  (InternalFrameEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameClosed	
  	
  	
  	
  (InternalFrameEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameClosing	
  (InternalFrameEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameDeacavated	
  (InternalFrameEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameDeiconified	
  (InternalFrameEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameIconified	
  (InternalFrameEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
   	
   	
   	
   	
   	
  internalFrameOpened	
  (InternalFrameEvent)	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   34	
  
Métodos	
  das	
  interfaces	
  listener	
  
ListDataListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  contentsChanged	
  (ListDataEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  intervalAdded	
  (ListDataEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  intervalRemoved	
  (ListDataEvent)	
  
ListSelec=onListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  valueChanged	
  (ListSelecaonEvent)	
  
MenuDragMouseListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuDragMouseDragged	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (MenuDragMouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuDragMouseEntered	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (MenuDragMouseEvent)	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   35	
  
Métodos	
  das	
  interfaces	
  listener	
  
MenuKeyListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuKeyPressed	
  (MenuKeyEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuKeyReleased(MenuKeyEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuKeyTyped	
  (MenuKeyEvent)	
  
MenuListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuCanceled	
  (MenuEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuDeselected	
  (MenuEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuSelected	
  (MenuEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   36	
  
Métodos	
  das	
  interfaces	
  listener	
  
MouseInputListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mouseClicked	
  (MouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mouseDragged	
  (MouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mouseEntered	
  (MouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mouseExited	
  (MouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mouseMoved	
  (MouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mousePressed	
  (MouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  mouseReleased	
  (MouseEvent)	
  
PopupMenuListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  popupmenuCanceled	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (PopupMenuEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuDragMouseExited	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (MenuDragMouseEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  menuDragMouseReleased	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (MenuDragMouseEvent)	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   37	
  
Métodos	
  das	
  interfaces	
  listener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  popupMenuWillBecomeInvisible	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (PopupMenuEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  popupMenuWillBecomeVisible	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (PopupMenuEvent)	
  
TableColumnModelListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  columnAdded	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (TableColumnModelEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  columnMarginChanged	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (ChangeEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  columnMoved	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (TableColumnModelEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   38	
  
Métodos	
  das	
  interfaces	
  listener	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  columnRemoved	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (TableColumnModelEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  columnSelecaonChanged	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (ListSelecaonEvent)	
  
TableModelListener	
  
	
  tableChanged	
  (TableModelEvent)	
  
	
  
TreeExpansionListener	
  
	
  treeCollapsed	
  (TreeExpansionEvent)	
  
	
  	
  	
  	
  	
  treeExpanded	
  (TreeExpansionEvent)	
  
	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   39	
  
Métodos	
  das	
  interfaces	
  listener	
  
	
  	
  TreeModelListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  treeNodesChanged	
  (TreeModelEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  treeNodesInserted	
  (TreeModelEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  treeNodesRemoved	
  (TreeModelEvent)	
  
	
  	
  	
  	
  	
  	
  	
  	
  treeStructureChanged(TreeModelEvent)	
  
	
  
	
  TreeSelec=onListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  valueChanged	
  (TreeSelecaonEvent)	
  
	
  
	
  UndoableEditListener	
  
	
  	
  	
  	
  	
  	
  	
  	
  undoableEditHappened(UndoableEditEvent)	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   40	
  
Fontes	
  de	
  eventos	
  
Cada uma das interfaces anteriores está relacionada
com eventos de uma ou mais classe de
componentes.
Por exemplo, a interface MenuListener está
relacionada com JMenu. Assim, quando a fonte
do evento é um objeto desta classe, os métodos
implementados da interface são acionados.	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   41	
  
Implementação	
  de	
  interface	
  (exemplo)	
  	
  
JMenu file = new JMenu ("File");
file.addMenuListener (new MenuListener() {
public void menuSelected (MenuEvent e) {
System.out.println ("Selected");
}
public void menuDeselected (MenuEvent e) {
System.out.println ("Deselected");
}
public void menuCanceled (MenuEvent e) {
System.out.println ("Canceled");
}
});	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   42	
  
Arquitetura	
  MVC	
  	
  
Além do tratamento básico de eventos anterior, o
pacote Java Swing permite, adicionalmente,
um controle maior sobre os componentes
utilizando a arquitetura Model/View/Controller
(MVC).
Por exemplo, eventos podem ser controlados de
forma complexa através de elementos
chamados chamados adaptadores.
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   43	
  
Look-­‐and-­‐feel	
  	
  
Utilizando a estrutura modular da arquitetura
MVC, componentes Swing podem simular a
aparência de vários sistemas gráficos.
Esta funcionalidade com componentes Swing é
chamada de look-and-feel.
Os pacotes que disponibilizam classes de
manipulação de look-and-feel são identificados
por javax.swing.plaf.*;
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   44	
  
Como	
  alterar	
  a	
  aparência	
  ?	
  	
  
try{
UIManager.setLookAndFeel("javax.swing.plaf.Metal.MetalL
ookandFeel");
}
catch(java.lang.ClassNotFoundException e){...}
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   45	
  
Como	
  pegar	
  o	
  look-­‐and-­‐feel	
  do	
  sistema	
  do	
  
usuário	
  ?	
  	
  
try{
UIManager.setLookAndFeel(
UIManager.getCrossPlataformLookAndFellClassName());
}
catch(java.lang.ClassNotFoundException e){...}
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   46	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   47	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   48	
  
Imagens	
  
•  hip://www.goldb.org/goldblog/cmg_images/
real_programmers_binary.jpg	
  	
  
•  hip://sandersconsulang.com/Portals/58319/
images/checklist.jpg	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   49	
  
Obrigado	
  
	
  
Daniel	
  Arndt	
  Alves	
  
	
  
hip://www.progdan.pro.br/	
  	
  
daniel.alves@mackenzie.br	
  
progdan@progdan.pro.br	
  	
  
Daniel	
  Arndt	
  Alves	
   Java	
  Swing:	
  Hierarquia	
  Window	
   50	
  

Mais conteúdo relacionado

Mais procurados

Java - Introdução a banco de dados
Java - Introdução a banco de dadosJava - Introdução a banco de dados
Java - Introdução a banco de dadosSérgio Souza Costa
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swingArmando Daniel
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Aplicacoes gráficas em Java
Aplicacoes gráficas em JavaAplicacoes gráficas em Java
Aplicacoes gráficas em JavaMarco Reis
 
Clean Code e Object Calisthenics - Aplicados no PHP
Clean Code e Object Calisthenics - Aplicados no PHPClean Code e Object Calisthenics - Aplicados no PHP
Clean Code e Object Calisthenics - Aplicados no PHPRafael Neris
 
Web2py: Desenvolvimento Ágil de Aplicações Web com Python
Web2py: Desenvolvimento Ágil de Aplicações Web com PythonWeb2py: Desenvolvimento Ágil de Aplicações Web com Python
Web2py: Desenvolvimento Ágil de Aplicações Web com Pythonchackero
 

Mais procurados (18)

Java11
Java11Java11
Java11
 
Java - Introdução a banco de dados
Java - Introdução a banco de dadosJava - Introdução a banco de dados
Java - Introdução a banco de dados
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Java Swing
Java SwingJava Swing
Java Swing
 
Java swing
Java swingJava swing
Java swing
 
Aplicacoes gráficas em Java
Aplicacoes gráficas em JavaAplicacoes gráficas em Java
Aplicacoes gráficas em Java
 
Clean Code e Object Calisthenics - Aplicados no PHP
Clean Code e Object Calisthenics - Aplicados no PHPClean Code e Object Calisthenics - Aplicados no PHP
Clean Code e Object Calisthenics - Aplicados no PHP
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
Java 14
Java 14Java 14
Java 14
 
BDD com Rails
BDD com RailsBDD com Rails
BDD com Rails
 
Java 06
Java 06Java 06
Java 06
 
Programação Orientada por Objectos - Aula 6
Programação Orientada por Objectos - Aula 6Programação Orientada por Objectos - Aula 6
Programação Orientada por Objectos - Aula 6
 
GUI Aplicações Gráficas
GUI Aplicações Gráficas GUI Aplicações Gráficas
GUI Aplicações Gráficas
 
Solid
SolidSolid
Solid
 
Web2py: Desenvolvimento Ágil de Aplicações Web com Python
Web2py: Desenvolvimento Ágil de Aplicações Web com PythonWeb2py: Desenvolvimento Ágil de Aplicações Web com Python
Web2py: Desenvolvimento Ágil de Aplicações Web com Python
 
Labs Jogos Java
Labs Jogos JavaLabs Jogos Java
Labs Jogos Java
 

Destaque (10)

Java RMI
Java RMIJava RMI
Java RMI
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
Sessao
SessaoSessao
Sessao
 
Histórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de ProgramaçãoHistórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de Programação
 
Bubble Sort
Bubble SortBubble Sort
Bubble Sort
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Gerenciadores de Layout
Gerenciadores de LayoutGerenciadores de Layout
Gerenciadores de Layout
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Selection Sort
Selection SortSelection Sort
Selection Sort
 

Semelhante a Java Swing Hierarquia Window

Semelhante a Java Swing Hierarquia Window (20)

Interface Gráfica.ppt
Interface Gráfica.pptInterface Gráfica.ppt
Interface Gráfica.ppt
 
Introdução ao JavaFX
Introdução ao JavaFXIntrodução ao JavaFX
Introdução ao JavaFX
 
Tutorial java swing
Tutorial java swingTutorial java swing
Tutorial java swing
 
CURSO JAVA 02
CURSO JAVA 02CURSO JAVA 02
CURSO JAVA 02
 
Programando em python interfaces graficas com tk
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tk
 
Minicurso groovy grails
Minicurso groovy grailsMinicurso groovy grails
Minicurso groovy grails
 
Graphics Capabilities of Java Platform
Graphics Capabilities of Java PlatformGraphics Capabilities of Java Platform
Graphics Capabilities of Java Platform
 
Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II
 
Fazendo Injeção de dependência com Unity 1.2
Fazendo Injeção de dependência com Unity 1.2Fazendo Injeção de dependência com Unity 1.2
Fazendo Injeção de dependência com Unity 1.2
 
Implementando LWUIT para TV Digital (Ginga-J) - JavaOne 2011
Implementando LWUIT para TV Digital (Ginga-J) - JavaOne 2011Implementando LWUIT para TV Digital (Ginga-J) - JavaOne 2011
Implementando LWUIT para TV Digital (Ginga-J) - JavaOne 2011
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Pew2012
Pew2012Pew2012
Pew2012
 
Interface grafica
Interface graficaInterface grafica
Interface grafica
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Java swingcomponentes
Java swingcomponentesJava swingcomponentes
Java swingcomponentes
 
Visualg2_manual.pdf
Visualg2_manual.pdfVisualg2_manual.pdf
Visualg2_manual.pdf
 
Introducao a Linguagem Kotlin
Introducao a Linguagem KotlinIntroducao a Linguagem Kotlin
Introducao a Linguagem Kotlin
 
Cap6
Cap6Cap6
Cap6
 
Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)Web 2.0 com Ajax: JQuery/PHP (Aula 02)
Web 2.0 com Ajax: JQuery/PHP (Aula 02)
 
Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 

Mais de Daniel Arndt Alves

Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPDaniel Arndt Alves
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosDaniel Arndt Alves
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing ListenersDaniel Arndt Alves
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoDaniel Arndt Alves
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaDaniel Arndt Alves
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoDaniel Arndt Alves
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoDaniel Arndt Alves
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaDaniel Arndt Alves
 
Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Daniel Arndt Alves
 
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosModelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosDaniel Arndt Alves
 

Mais de Daniel Arndt Alves (18)

Variaveis Superglobais
Variaveis SuperglobaisVariaveis Superglobais
Variaveis Superglobais
 
Programacao Modular
Programacao ModularProgramacao Modular
Programacao Modular
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHP
 
Introducao ao PHP
Introducao ao PHPIntroducao ao PHP
Introducao ao PHP
 
Arquitetura web
Arquitetura webArquitetura web
Arquitetura web
 
HTML Básico
HTML BásicoHTML Básico
HTML Básico
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing Listeners
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de Ensino
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de Ensino
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de Ensino
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da Disciplina
 
Novos Recursos do Moodle 2
Novos Recursos do Moodle 2Novos Recursos do Moodle 2
Novos Recursos do Moodle 2
 
Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)
 
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosModelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
 

Último

About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 

Último (20)

About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

Java Swing Hierarquia Window

  • 1. Universidade Presbiteriana Mackenzie   Aula  3:  Hierarquia  Window   Prof. Ms. Daniel Arndt Alves Faculdade  de  Computação  e  Informá=ca   Computação e Informática Faculdade de Linguagem  de   Programação  II   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   1  
  • 2. Tópicos  da  Aula   •  Hierarquia  Window  dentro  do   pacote  javax.swing •  Layouts  do  Swing   •  Bordas   •  Tratamento  de  eventos   •  Manipulação  de  look-­‐and-­‐feel   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   2  
  • 3. Hierarquia  Window     Além da classe JPanel, já vista nas aulas anteriores, o pacote Swing fornece uma série de alternativas para containers. Uma destas alternativas inicia-se com a hierarquia da classe Window, definida no pacote java.awt.   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   3  
  • 4. Hierarquia  Window(II)     Window    (  AWT  )   Dialog    (AWT)   Frame   (AWT)   JWindow   JDialog   JFrame   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   4  
  • 5. Classe  JFrame     A classe JFrame é muito similar à classe Frame do AWT. Porém, alguns pontos são exclusivos à classe JFrame: •  os componentes não são inseridos diretamente com add •  a alteração não é feita diretamente só com setLayout •  pode-se definir comportamentos-padrão para evento de fechamento da janela   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   5  
  • 6. JFrame (Exemplo)     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   6  
  • 7. Código  do  Exemplo     public class FrameTester { public static void main (String args[]) { JFrame f = new JFrame ("JFrame Example"); Container c = f.getContentPane(); c.setLayout (new FlowLayout()); for (int i = 0; i < 5; i++) { c.add (new JButton ("No")); c.add (new Button ("Batter")); } c.add (new JLabel ("Swing")); f.setSize (300, 200); f.show(); } }   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   7  
  • 8. Evento  de  fechamento  de  janela     Além do tradicional tratamento de evento de fechamento de janela do AWT, o pacote Swing disponibiliza outras possibilidades de tratamento através do método setDefaultCloseOperation(int operação) Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   8  
  • 9. Evento  de  fechamento  de  janela     O parâmetro operação pode ser uma das seguintes constantes: •  DO_NOTHING_ON_CLOSE: comportamento do frame do AWT •  HIDE_ON_CLOSE: comportamento padrão. A janela é apenas escondida. •  DISPOSE_ON_CLOSE: libera todo o conteúdo da janela. •  EXIT_ON_CLOSE: força chamada de System.exit() Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   9  
  • 10. Layout  em  Swing     Além dos tradicionais gerenciadores de layout do AWT, o pacote javax.swing disponibiliza 4 gerenciadores adicionais: •  ScrollPaneLayout •  ViewportLayout •  BoxLayout •  OverlayLayout Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   10  
  • 11. ScrollPaneLayout     É o gerenciador de layout utilizado pelo JScrollPane. Não há necessidade de se instanciar uma classe com este gerenciador nem associá-la a um JScrollPane, pois isto já é feito automaticamente. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   11  
  • 12. ViewportLayout     É o gerenciador de layout usado pelo componente JViewport. Assim como no ScrollPaneLayout, o gerenciador ViewportLayout já está automaticamente associado com um objeto JViewPort. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   12  
  • 13. BoxLayout     É um gerenciador que permite arranjar os componentes ao longo dos eixos x ou y. O construtor do BoxLayout tem a seguinte forma: BoxLayout(container, eixo) Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   13  
  • 14. Código  do  Exemplo     class BoxLayoutTest extends JPanel { BoxLayoutTest() { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); TextField textField = new TextField(); TextArea textArea = new TextArea(4, 20); JButton button = new JButton("Tiger", new ImageIcon("SmallTiger.gif")); add(new JLabel("TextField:")); add(textField); add(new JLabel("TextArea:")); add(textArea); add(new JLabel("Button:")); add(button); } }   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   14  
  • 15. BoxLayout  (Exemplo)     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   15  
  • 16. Bordas     O pacote javax.swing.border consiste de várias classes para desenhar bordas envolvendo componentes. Todas estas classes implementam a interface Border. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   16  
  • 17. Interface  Border A interface Border consiste de três métodos: •  public Insets getBorderInsets(Component c): define a área útil para desenhar a borda •  public boolean isBorderOpaque(): define se a borda é opaca ou transparente •  public void paintBorder(Component c, Graphics g, int x, int y, int width, int height): define como desenhar a borda. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   17  
  • 18. Implementações  pré-­‐definidas  de  bordas   O p a c o t e j a v a x . s w i n g . b o r d e r disponibiliza 9 classes que implementam a interface Border:  AbstractBorder BevelBorder CompoundBorder EmptyBorder EtchedBorder LineBorder MatteBorder SoftBevelBorder TitleBorder Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   18  
  • 19. Definição  de  bordas   Caso as bordas anteriores não sejam suficientes para atender às necessidades, basta implementar os métodos da interface Border, mostrados anteriormente.   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   19  
  • 20. Instanciação  de  bordas   Bordas podem ser criadas invocando-se o construtor de uma das classes anteriores (exceto AbstractBorder) ou chamando os métodos estáticos da classe BorderFactory (pacote javax.swing). Para se atribuir uma borda a um componente/ c o n t a i n e r , u t i l i z a - s e o m é t o d o setBorder(borda).   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   20  
  • 21. Bordas  (Exemplo)     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   21  
  • 22. Bordas  (Exemplo)   public class BorderPanel extends JPanel { class MyBorder implements Border { Color color; public MyBorder (Color c) { color = c; } public void paintBorder (Component c, Graphics g, int x, int y, int width, int height) { Insets insets = getBorderInsets(c); g.setColor (color); g.fillRect (x, y, 2, height); g.fillRect (x, y, width, 2); g.setColor (color.darker()); Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   22  
  • 23. Bordas  (Exemplo)   g.fillRect (x+width-insets.right, y, 2, height); g.fillRect (x, y+height-insets.bottom, width, 2); } public boolean isBorderOpaque() { return false; } public Insets getBorderInsets(Component c) { return new Insets (2, 2, 2, 2); } }   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   23  
  • 24. Bordas  (Exemplo)   public BorderPanel() { setLayout (new GridLayout (4, 3, 5, 5)); JButton b = new JButton("Empty"); b.setBorder (new EmptyBorder (1,1,1,1)); add(b); b = new JButton ("Etched"); b.setBorder (new EtchedBorder ()); add(b); b = new JButton ("ColorizedEtched"); b.setBorder (new EtchedBorder (Color.red, Color.green)); add(b);   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   24  
  • 25. Bordas  (Exemplo)   b = new JButton ("Titled/Line"); b.setBorder(new TitledBorder ( new TitledBorder( LineBorder.createGrayLineBorder(),"Hello"), "World", TitledBorder.RIGHT, TitledBorder.BOTTOM)); add(b); b = new JButton ("Bevel Up"); b.setBorder(new BevelBorder(BevelBorder.RAISED)); add(b);   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   25  
  • 26. Bordas  (Exemplo)   b = new JButton ("Bevel Down"); b.setBorder(new BevelBorder(BevelBorder.LOWERED)); add(b); b = new JButton ("Soft Bevel Up"); b.setBorder(new SoftBevelBorder(SoftBevelBorder.RAISED)); add(b); b = new JButton ("Soft Bevel Down"); b.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED)); add(b); b = new JButton ("Matte"); b.setBorder(new MatteBorder(5, 10, 5, 10, Color.red)); add(b);   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   26  
  • 27. Bordas  (Exemplo)   b = new JButton ("Matte Icon"); Icon icon = new ImageIcon ("SmallTiger.gif"); b.setBorder(new MatteBorder(10, 10, 10, 10, icon)); add(b); b = new JButton ("ColorizedBezel"); b.setBorder(new BevelBorder(BevelBorder.RAISED, Color.red, Color.pink)); add(b); b = new JButton ("My/Compound"); b.setBorder(new CompoundBorder(new MyBorder(Color.red), new CompoundBorder (new MyBorder(Color.green), new MyBorder(Color.blue)))); add(b); } }   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   27  
  • 28. Eventos     Como grande parte dos elementos de interface do swing é derivada da classe básica J C o m p o n e n t ( d e r i v a d a d e java.awt.Container), os métodos de gerenciamento de evento definidos no AWT podem ser aplicados neste contexto, embora a maioria das construções utilize classes e interfaces (listeners) definidos dentro do pacote javax.swing Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   28  
  • 29. Eventos     Para tratar convenientemente os eventos dentro do swing, existe a necessidade de se conhecer: •  tipos de objetos instanciados nos eventos •  interfaces do tipo listener para implementação •  fontes de eventos e interfaces utilizadas por estas fontes Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   29  
  • 30. Objetos  de  evento     AncestorEvent CaretEvent ChangeEvent DocumentEvent HyperlinkEvent InternalFrameEvent ListDataEvent ListSelectionEvent MenuDragMouseEvent MenuEvent MenuKeyEvent PopupMenuEvent TableColumnModelEvent TableModelEvent TreeExpansionEvent TreeModelEvent TreeSelectionEvent UndoableEditEvent Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   30  
  • 31. Exemplo  de  objetos  de  evento     JMenu file = new JMenu ("File"); file.addMenuListener (new MenuListener() { public void menuSelected (MenuEvent e) { System.out.println ("Selected"); } public void menuDeselected (MenuEvent e) { System.out.println ("Deselected"); } public void menuCanceled (MenuEvent e) { System.out.println ("Canceled"); } });   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   31  
  • 32. Interfaces  do  apo  listener     O pacote swing disponibiliza várias interfaces para tratamento de eventos. Estas interfaces estão localizadas no pacote javax.swing.event. Grande parte das implementações em Swing utilizam os métodos destas interfaces para tratamento dos eventos.                                           Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   32  
  • 33. Métodos  das  interfaces  listener   AncestorListener                                                                                                                  ancestorAdded  (AncestorEvent)                                                                                                                  ancestorMoved  (AncestorEvent)                                                                                                                  ancestorRemoved  (AncestorEvent)   CaretListener                                                                                                                  caretUpdate  (CaretEvent)   CellEditorListener                                                                                                                  ediangCanceled  (ChangeEvent)                                                                                                                  ediangStopped  (ChangeEvent)   ChangeListener                                                                                                                  stateChanged  (ChangeEvent)                                                                                         Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   33  
  • 34. Métodos  das  interfaces  listener   DocumentListener                                                                                                                  changedUpdate  (DocumentEvent)                                                                                                                  insertUpdate  (DocumentEvent)                                                                                                                  removeUpdate  (DocumentEvent)   HyperlinkListener                                                                                                                  hyperlinkUpdate  (HyperlinkEvent)   InternalFrameListener                                internalFrameAcavated  (InternalFrameEvent)                                internalFrameClosed        (InternalFrameEvent)                                internalFrameClosing  (InternalFrameEvent)                                internalFrameDeacavated  (InternalFrameEvent)                                internalFrameDeiconified  (InternalFrameEvent)                                internalFrameIconified  (InternalFrameEvent)                                internalFrameOpened  (InternalFrameEvent)   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   34  
  • 35. Métodos  das  interfaces  listener   ListDataListener                                                                                                                  contentsChanged  (ListDataEvent)                                                                                                                  intervalAdded  (ListDataEvent)                                                                                                                  intervalRemoved  (ListDataEvent)   ListSelec=onListener                                                                                                                  valueChanged  (ListSelecaonEvent)   MenuDragMouseListener                                                                                                                  menuDragMouseDragged                                                                                                                  (MenuDragMouseEvent)                                                                                                                  menuDragMouseEntered                                                                                                                  (MenuDragMouseEvent)   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   35  
  • 36. Métodos  das  interfaces  listener   MenuKeyListener                                                                                                                  menuKeyPressed  (MenuKeyEvent)                                                                                                                  menuKeyReleased(MenuKeyEvent)                                                                                                                  menuKeyTyped  (MenuKeyEvent)   MenuListener                                                                                                                  menuCanceled  (MenuEvent)                                                                                                                  menuDeselected  (MenuEvent)                                                                                                                  menuSelected  (MenuEvent)                                                                                                                                                                                                                                                     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   36  
  • 37. Métodos  das  interfaces  listener   MouseInputListener                                                                                                                  mouseClicked  (MouseEvent)                                                                                                                  mouseDragged  (MouseEvent)                                                                                                                  mouseEntered  (MouseEvent)                                                                                                                  mouseExited  (MouseEvent)                                                                                                                  mouseMoved  (MouseEvent)                                                                                                                  mousePressed  (MouseEvent)                                                                                                                  mouseReleased  (MouseEvent)   PopupMenuListener                                                                                                                  popupmenuCanceled                                                                                                                  (PopupMenuEvent)                                                                                                                  menuDragMouseExited                                                                                                                  (MenuDragMouseEvent)                                                                                                                  menuDragMouseReleased                                                                                                                  (MenuDragMouseEvent)   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   37  
  • 38. Métodos  das  interfaces  listener                                                                                                                  popupMenuWillBecomeInvisible                                                                                                                  (PopupMenuEvent)                                                                                                                  popupMenuWillBecomeVisible                                                                                                                  (PopupMenuEvent)   TableColumnModelListener                                                                                                                  columnAdded                                                                                                                  (TableColumnModelEvent)                                                                                                                  columnMarginChanged                                                                                                                (ChangeEvent)                                                                                                                  columnMoved                                                                                                                  (TableColumnModelEvent)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   38  
  • 39. Métodos  das  interfaces  listener                                                                                                                  columnRemoved                                                                                                                  (TableColumnModelEvent)                                                                                                                  columnSelecaonChanged                                                                                                                  (ListSelecaonEvent)   TableModelListener    tableChanged  (TableModelEvent)     TreeExpansionListener    treeCollapsed  (TreeExpansionEvent)            treeExpanded  (TreeExpansionEvent)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   39  
  • 40. Métodos  das  interfaces  listener      TreeModelListener                  treeNodesChanged  (TreeModelEvent)                  treeNodesInserted  (TreeModelEvent)                  treeNodesRemoved  (TreeModelEvent)                  treeStructureChanged(TreeModelEvent)      TreeSelec=onListener                  valueChanged  (TreeSelecaonEvent)      UndoableEditListener                  undoableEditHappened(UndoableEditEvent)                                                                                                                                                                                                                                                                                                                                                   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   40  
  • 41. Fontes  de  eventos   Cada uma das interfaces anteriores está relacionada com eventos de uma ou mais classe de componentes. Por exemplo, a interface MenuListener está relacionada com JMenu. Assim, quando a fonte do evento é um objeto desta classe, os métodos implementados da interface são acionados.                                                                                                                                                                                                                                                                       Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   41  
  • 42. Implementação  de  interface  (exemplo)     JMenu file = new JMenu ("File"); file.addMenuListener (new MenuListener() { public void menuSelected (MenuEvent e) { System.out.println ("Selected"); } public void menuDeselected (MenuEvent e) { System.out.println ("Deselected"); } public void menuCanceled (MenuEvent e) { System.out.println ("Canceled"); } });   Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   42  
  • 43. Arquitetura  MVC     Além do tratamento básico de eventos anterior, o pacote Java Swing permite, adicionalmente, um controle maior sobre os componentes utilizando a arquitetura Model/View/Controller (MVC). Por exemplo, eventos podem ser controlados de forma complexa através de elementos chamados chamados adaptadores. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   43  
  • 44. Look-­‐and-­‐feel     Utilizando a estrutura modular da arquitetura MVC, componentes Swing podem simular a aparência de vários sistemas gráficos. Esta funcionalidade com componentes Swing é chamada de look-and-feel. Os pacotes que disponibilizam classes de manipulação de look-and-feel são identificados por javax.swing.plaf.*; Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   44  
  • 45. Como  alterar  a  aparência  ?     try{ UIManager.setLookAndFeel("javax.swing.plaf.Metal.MetalL ookandFeel"); } catch(java.lang.ClassNotFoundException e){...} Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   45  
  • 46. Como  pegar  o  look-­‐and-­‐feel  do  sistema  do   usuário  ?     try{ UIManager.setLookAndFeel( UIManager.getCrossPlataformLookAndFellClassName()); } catch(java.lang.ClassNotFoundException e){...} Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   46  
  • 47. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   47  
  • 48. Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   48  
  • 49. Imagens   •  hip://www.goldb.org/goldblog/cmg_images/ real_programmers_binary.jpg     •  hip://sandersconsulang.com/Portals/58319/ images/checklist.jpg     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   49  
  • 50. Obrigado     Daniel  Arndt  Alves     hip://www.progdan.pro.br/     daniel.alves@mackenzie.br   progdan@progdan.pro.br     Daniel  Arndt  Alves   Java  Swing:  Hierarquia  Window   50