Indentificando mouse e ações no stage





     Localizar o mouse na Scene ou na Stage...é simples legal e rapido.
pra explicar o artigo vou começar pelo Menu o MenuBar possui apenas um Menu o menu possui 3 MenuItem Tracert,Tracert Linear,e Color Rand.

Tracert: retorna a localidade do mouse representada por Line.
Tracert Linear: retorna a posição do mouse representada por linha girando de forma linear.
ColorRand: retorna as cores randômicas para cada Line criada no Group ...en cada ação do evento do mouse.
 Criar os Controles de um MenuBar é simples ex:

MenuBar mb;
Menu mn;
MenuItem mi1,mi2,mi3;
mb=new MenuBar();
        mn=new Menu("OPÇÕES");
        mi1=new MenuItem("Tracert OFF");
        mi2=new MenuItem("Tracert Linear OFF");
        mi3=new MenuItem("Color Rand OFF ");
     
        mb.getMenus().add(mn);
        mn.getItems().addAll(mi1,mi2,mi3);
        go.getChildren().add(mb);
        mb.layoutXProperty().bind(
                scene.widthProperty().divide(2).subtract(20)
                );

Porem  as linhas quando ativadas utiliza bind(); para otimizar valores inteiros e double
 /*binds tem as características de receber 
       dados inteiros e trabalhá-los de maneira
       que otimize os retornos de valores.... 
        Funcionam de forma que se  algum WindowsEvent for iniciado no programa 
        como Maximizar , restaurar, ou mover as propriedades de dimenções  ,
        os binds irão sincronizar de acordo com as dimenções e a localidades do objeto
        */
Olhe o gráfico e o codigo - font  e entenda: binds_em_linhas.


     lndir.setStartX(wt+13);
      lndir.setStartY(hg);
      lndir.endXProperty().bind(  
      scene.widthProperty().subtract(10));
      lndir.setEndY(hg);
      lnesc.setStartX(10);
      lnesc.setStartY(hg);
      lnesc.setEndX(wt-13);
      lnesc.setEndY(hg);
      lnup.setStartX(wt);
      lnup.setStartY(10);
      lnup.setEndX(wt);
      lnup.setEndY(hg-10);
      lndown.setStartX(wt);
      lndown.setStartY(hg+10);
      lndown.setEndX(wt);
      lndown.endYProperty().bind(
scene.heightProperty().subtract(10));
 

  As cores randômicas é de simples manuseio.
  Apesar de simples devem ser bem utilizadas.
 Repare como estar este evento de cores no aplicativo

Random rand=new Random(System.currentTimeMillis());
                   int p,i,n,t,a,r, e, b,o,m;
                   p=rand.nextInt((int)246);
                   i=rand.nextInt((int)246);
                   n=rand.nextInt((int) 246);
                   t=rand.nextInt((int) 246);
                   a=rand.nextInt((int) 246);
                   r=rand.nextInt((int) 246);
                   e=rand.nextInt((int) 246);
                   b=rand.nextInt((int) 246);
                   o=rand.nextInt((int) 246);
                   m=rand.nextInt((int) 246);
                System.out.println("color rand ativado"+p+i+n+t+a+r+ e +b+o+m);
                lndown.setFill(Color.rgb(p, i, m));
                lndir.setFill(Color.rgb(t, a, r));
                lnesc.setFill(Color.rgb(e, b, o,.246));
                lnup.setFill(Color.rgb(o, m, n,.246));
             
                lndir.setStroke(Color.rgb(p, i, m,.246));
                lnup.setStroke(Color.rgb(t, a, r,.246));
                lndown.setStroke(Color.rgb(e, b, o,.246));
                lnesc.setStroke(Color.rgb(o, m, n,.246));
               
 Bem legal e simples assim.
Olhe como funciona o Binding() neste artigo antigo feito em JFX1.3.
Introduction_to_Binding_in_JavaFX
=)
boa leitura

Visualizar aplicativo :Aqui
Visualizar Código-Fonte:Aqui









Comentários