Escolar Documentos
Profissional Documentos
Cultura Documentos
////
////
1. package listasjavaejavafx.view;
2.
3. import listasjavaejavafx.model.Carro;
4. import javafx.scene.layout.HBox;
5. import javafx.scene.control.ListView;
6. import javafx.scene.layout.VBox;
7. import javafx.scene.control.Label;
8. import javafx.scene.layout.LayoutInfo;
9.
10./**
11. * @author Administrador
12. */
13.public class CarrosView {
14. //Aham, uma sequência de carros
15. public var carros: Carro[];
16.
17. //Um carro que será visto: Ele está amarrado ao item selecionado d
a lista!
18. //Observer o Casting do JavaFX, que elegante :-)
19. var carroAtual: Carro = bind listaCarros.selectedItem as Carro;
20.
21. //A lista com os carros para você escolher um e ver mais sobre
22. var listaCarros: ListView;
23. //Nossa caixa horizontal que terá a exibição do carro escolhido
24. var mostraCarroAtual: VBox;
25.
26. //Nosso construtor
27. init {
28. //A nossa lista terá seu comportamento determinado pela lista d
e carros
29. listaCarros = ListView {
30. //Vai exibir o nome do carro, pois o método toString do carro r
etorna
31. //o nome do mesmo
32. items: bind carros
33. layoutInfo: LayoutInfo{width: 200 height: 100}
34. }
35.
36. //O nosso mostra carro atual terá somente alguns labels que mo
straram
37. //os detalhes do carro
38. mostraCarroAtual = VBox{
39. spacing: 10;
40. //Se tivermos algum carro selecionado mostramos essa lista
41. visible: bind not (carroAtual == null);
42. content:[
43. Label{text: bind "Nome: {carroAtual.getNome()}" }
44. Label{text: bind "Cor: {carroAtual.getCor()}" }
45. Label{text: bind "Placa: {carroAtual.getPlaca()}" }
46. ]
47. }
48. }
49.
50. public function getCarrosView(): HBox {
51. HBox{
52. spacing: 20;
53. content: [listaCarros, mostraCarroAtual]
54. }
55. }
56.
57.}
1. package listasjavaejavafx;
2.
3. import javafx.stage.Stage;
4. import javafx.scene.Scene;
5. import listasjavaejavafx.view.CarrosView;
6. import listasjavaejavafx.control.CarroControl;
7. import javafx.scene.layout.HBox;
8. import javafx.scene.control.TextBox;
9. import javafx.scene.layout.VBox;
10.import javafx.scene.control.Label;
11.
12./**
13. * @author Administrador
14. */
15.//Olha, instanciamos como se fosse Java
16.var carroControl:CarroControl = new CarroControl();
17.//O for retorna uma lista em JavaFX. Todo bloco em JavaFX retorna alg
o :- )
18.var carros = for ( carro in carroControl.getCarros()) carro;
19.
20.//Nosso carro view; Por enquanto não há carros
21.var carrosView:CarrosView = CarrosView{
22. carros: carros;
23.};
24.
25.//O campo que o usuário entra com a busca
26.var txtBusca:TextBox;
27.//Vamos fazer uma busca nos carros, para isso usaremos essa barra h
orizontal com alguns controls
28.var barraBusca:HBox = HBox{
29. spacing: 10;
30. content:[
31. Label{
32. text: "Buscar:";
33. }
34. txtBusca = TextBox{ action: busca;}
35. ]
36.}
37.
38.Stage {
39. title: "Nossos carros!"
40. scene: Scene {
41. width: 400
42. height: 200
43. content: [
44. VBox{
45. translateX:10 translateY:10 spacing: 10
46. content: [
47. barraBusca,
48. carrosView.getCarrosView()
49. ]
50. }
51. ]
52. }
53.}
54.
55.function busca():Void{
56. //Muito fácil, para a busca usamos um slice
57. carrosView.carros = carros[n| n.getNome().contains(txtBusca.text)]
58.}
Visualizar Codigo Fonte
01.package classeAbstrata;
02.
06.
08. /*
14.
16. /*
19. */
23. }
24.
26. /*
28. */
31. }
32.
35. }
36.
39. }
40.
43. }
44.}
01.package classeAbstrata;
02.
07.
11. this.canal = 0;
12. this.volume = 0;
13. }
14.
17. super.setLigado(false);
18. setCanal(0);
19. setVolume(0);
20. }
21.
23. super.setLigado(true);
24. setCanal(3);
25. setVolume(25);
26. }
27.
29.
30.}
01.package classeAbstrata;
02.
09.
12. setBanda(Radio.FM);
13. setSintonia(0);
14. setVolume(0);
15. }
16.
19. super.setLigado(false);
20. setSintonia(0);
21. setVolume(0);
22. }
23.
25. super.setLigado(true);
26. setSintonia(88.1f);
27. setVolume(25);
28. }
29.
31.
32.}
01.package classeAbstrata;
02.
04.
08.
09. /*
12. */
13. tv1.ligar();
14. radio1.ligar();
15.
20. }
21.}