javafx的一些小技巧

来源:互联网 发布:adc0804 51单片机 编辑:程序博客网 时间:2024/05/21 17:59

javafx小技巧总结

1.javafx制作圆形按钮:在javafx中并没有一个函数可以直接设置按钮的形状,那么怎么样制作一个圆形按钮呢?

如下:先新建一个按钮,也可以用seenbuilder直接拉一个(感觉还是这样快一点),设置该按钮的ID为button1,然后就是加CSS修饰该按钮,可是css中也没有直接可以设置按钮形状的的函数,不过可以巧妙地用一个属性 -fx-border-radius,这是一个设置圆角矩形的属性,其中可以有四个参数,分别设置圆角矩形四个角处的圆的半径,我们要用的就是这个属性,在该界面的css文件中加入#button1{ -fx-border-radius: 50; -fx-background-radius:50;}这是把按钮的四个角上设置为一个半径为50的半圆,现在我们就只要进行最后一个步骤:设置按钮的大小为100*100的就可以了,这样由于每个角都是半径为50的四分之一圆,所以该按钮就变成了由四个半径为50的四分之一圆组成的一个大圆。  

         这种方法要注意的是:按钮这样设置后就不能在加图片,否则又会变成方的。

2.javafx制作那种鼠标移到按钮上按钮变大的效果,其实原理很简单。。

  如下:按钮有一个监听事件为 private void button1Enter(MouseEvent event) ;是检测鼠标进入按钮的,那么怎样把按钮变大呢?简单一点的方法就是----偷天换日。在鼠标进入该按钮的一瞬间把该按钮隐藏,然后把一个原本隐藏的大一些的按钮设置属性为可见,在计算机快速反应的情况下,效果就是按钮变大的效果。代码如下:


  private void button1Enter(MouseEvent event) {//鼠标进入时小按钮隐藏,大按钮显现
        button1.setVisible(false);
        bigbutton1.setVisible(true);
       // System.out.println("enter");
    }
    private void bigbutton1exit(MouseEvent event) {//当然,离开的时候又要还原。
         bigbutton1.setVisible(false);
        button1.setVisible(true);
    }

这个方法只要注意的就是:大按钮一定要覆盖小按钮,最好两个按钮中心对齐。

3.javafx设置鼠标进入按钮,按钮旁边显现一个另外几个按钮,这个原理同上,只是把几个按钮放到一个面板里面可能会方便一点,代码如下:

    private void button1Enter(MouseEvent event) {
        pane1.setVisible(true);//按钮在面板里面
     
    }
 
    private void bigbutton1exit(MouseEvent event) {
         pane1.setVisible(false);
 
    }

4.如何让一个按钮运动起来,这就需要javafx中的动画类。代码如下:

public class Moveing {
     public void moveup(PathTransition pt,Arc arc,Button button){
pt.setDuration(Duration.millis(4000));
pt.setPath(arc);
pt.setNode(button);
pt.setOrientation(PathTransition.OrientationType.ORTHOGONAL_TO_TANGENT);
pt.setCycleCount(1);
pt.play();    
               
    }

这是我写的一个类,可以直接用这个类声明对象,在需要的类中调用moveup()函数,需要输入PathTransition 的对象,轨迹对象,要移动的按钮。这样就可以移动按钮了。更多javafx学习请入http://www.javafxchina.net/blog/,百度第一个就是。


0 0