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
Postar um comentário