CATEGORII DOCUMENTE |
Sabloane de comportament
1.COMMAND
Diagrama.
Exemple.
1.(B.Eckel)
//: command:CommandPattern.java
package command;
import java.util.*;
import junit.framework.*;
interface Command
class Hello implements Command
}
class World implements Command
}
class IAm implements Command
}
// An object that holds commands:
class Macro
public void run()
}
public class CommandPattern extends TestCase
public static void main(String args[])
} ///:~
2.(J.Cooper)
Fie un program cu doua optiuni de meniu (deschiderea unui fisier si iesirea din program) si un buton "OK" care coloreaza fundalul in rosu.
La crearea unei interfete grafice in Java, partea de ascultare a evenimentelor consta, de obicei, dintr-o serie de if-uri pentru identificarea obiectului selectat, ca in secventa urmatoare:
public void actionPerformed(ActionEvent e)
Metodele apelate sunt:
private void exitClicked()
//-----------------------------------------
private void fileOpen()
//-----------------------------------------
private void redClicked()
Folosind sablonul Command:
public interface Command ,
metoda actionPerformed se reduce la:
public void actionPerformed(ActionEvent e)
(am evitat astfel un sir neelegant de if-uri, decupland in acelasi timp obiectul client de obiectul care trateaza cererea.)
Construirea obiectelor de tip Command
class btnRedCommand extends Button implements Command
public void Execute()
}
//------------------------------------------
class fileExitCommand extends MenuItem implements Command
public void Execute()
}
class Asc implements ActionListener{
public void actionPerformed(ActionEvent e)
}
act=new Asc();
mnuOpen.addActionListener(act);
mnuExit.addActionListener(act);
btnRed.addActionListener(act);
Clasele de mai sus pot deveni independente daca li se trimit parametrii necesari (ferestre, panouri. asupra carora acestea actioneaza):
mnuOpen = new fileOpenCommand('Open', this);
mnuFile.add(mnuOpen);
mnuExit = new fileExitCommand('Exit');
mnuFile.add(mnuExit);
p = new Panel();
add(p);
btnRed = new btnRedCommand('Red', p);
p.add(btnRed);
.
Tema Realizati o interfata grafica in Swing cu 3 submeniuri: primul ("Produse") si al doilea ("Clienti") cu cate doua optiuni, iar al treilea pentru iesirea din program. Selectarea unei optiuni a primelor doua submeniuri determina modificarea corespunzatoare a cate unei etichete din panoul ferestrei (Client: Ionescu; Produs: Portocale). In dreapta etichetelor exista un buton "OK" ce determina afisarea informatiei din acestea la consola. Folositi Command.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2243
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved