Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javafx中的动画菜单栏_Java_Javafx_Menubar - Fatal编程技术网

javafx中的动画菜单栏

javafx中的动画菜单栏,java,javafx,menubar,Java,Javafx,Menubar,有没有人可以在javafx中创建动画菜单栏。我需要显示菜单栏时,鼠标移动到顶部,并隐藏时,鼠标离开这个地区(25px的顶部)。目前我有一些解决方案,但它看起来不像我想要的那么漂亮,只需显示/隐藏而不进行任何滑动即可。) root.setOnMouseMoved(新的EventHandler(){ @凌驾 公共无效句柄(MouseeEvent事件){ if(event.getY()

有没有人可以在javafx中创建动画菜单栏。我需要显示菜单栏时,鼠标移动到顶部,并隐藏时,鼠标离开这个地区(25px的顶部)。目前我有一些解决方案,但它看起来不像我想要的那么漂亮,只需显示/隐藏而不进行任何滑动即可。)

root.setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
if(event.getY()<25){
menuBar.setVisible(true);
根。setTopAnchor(clipPane,35.0);
}否则{
if(menuBar.isVisible()){
菜单栏设置可见(假);
}
if(menuFile.isShowing()){
试一试{
机器人机器人=新机器人();
bot.mousePress(InputEvent.BUTTON1_掩码);
bot.mouseRelease(InputEvent.BUTTON1_掩码);
}捕获(AWEX){
}
}
根。setTopAnchor(clipPane,0.0);
}
}
});

那么,有人可以帮助我们了解如何为“显示/隐藏菜单栏”添加滑动效果吗?

经过几个小时的搜索后,我们自己通过并行转换实现了这一点。)

root.setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
if((event.getY()35)和&(fMenuVisible)){
TranslateTransition clipPane_幻灯片=新的TranslateTransition(持续时间.毫秒(300),clipPane);
clipPane_Slide.setFromY(35);
clipPane_Slide.setToY(0);
clipPane_幻灯片。设置循环计数(1);
clipPane_Slide.setAutoReverse(假);
TranslateTransition菜单栏\幻灯片=新的TranslateTransition(持续时间.毫秒(300),菜单栏);
菜单栏(幻灯片)setFromY(35);;
菜单栏滑动。设置玩具(0);
菜单栏滑动。设置循环计数(1);
菜单栏滑动。设置自动翻转(假);
ParallelTransition HideMenu=新的ParallelTransition();
HideMenu.getChildren().addAll(clipPane_幻灯片、菜单栏_幻灯片);
HideMenu.setCycleCount(1);
HideMenu.playFromStart();
fMenuVisible=假;
}
}
});

经过几个小时的搜索后,发现它是自己通过并行程序实现的

root.setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
if((event.getY()35)和&(fMenuVisible)){
TranslateTransition clipPane_幻灯片=新的TranslateTransition(持续时间.毫秒(300),clipPane);
clipPane_Slide.setFromY(35);
clipPane_Slide.setToY(0);
clipPane_幻灯片。设置循环计数(1);
clipPane_Slide.setAutoReverse(假);
TranslateTransition菜单栏\幻灯片=新的TranslateTransition(持续时间.毫秒(300),菜单栏);
菜单栏(幻灯片)setFromY(35);;
菜单栏滑动。设置玩具(0);
菜单栏滑动。设置循环计数(1);
菜单栏滑动。设置自动翻转(假);
ParallelTransition HideMenu=新的ParallelTransition();
HideMenu.getChildren().addAll(clipPane_幻灯片、菜单栏_幻灯片);
HideMenu.setCycleCount(1);
HideMenu.playFromStart();
fMenuVisible=假;
}
}
});

经过几个小时的搜索后,发现它是自己通过并行程序实现的

root.setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
if((event.getY()35)和&(fMenuVisible)){
TranslateTransition clipPane_幻灯片=新的TranslateTransition(持续时间.毫秒(300),clipPane);
clipPane_Slide.setFromY(35);
clipPane_Slide.setToY(0);
clipPane_幻灯片。设置循环计数(1);
clipPane_Slide.setAutoReverse(假);
TranslateTransition菜单栏\幻灯片=新的TranslateTransition(持续时间.毫秒(300),菜单栏);
菜单栏(幻灯片)setFromY(35);;
菜单栏滑动。设置玩具(0);
菜单栏滑动。设置循环计数(1);
菜单栏滑动。设置自动翻转(假);
ParallelTransition HideMenu=新的ParallelTransition();
HideMenu.getChildren().addAll(clipPane_幻灯片、菜单栏_幻灯片);
HideMenu.setCycleCount(1);
HideMenu.playFromStart();
fMenuVisible=假;
}
}
});

经过几个小时的搜索后,发现它是自己通过并行程序实现的

root.setOnMouseMoved(新的EventHandler(){
@凌驾
公共无效句柄(MouseeEvent事件){
if((event.getY()35)和&(fMenuVisible)){
TranslateTransition clipPane_幻灯片=新的TranslateTransition(持续时间.毫秒(300),clipPane);
clipPane_Slide.setFromY(35);
clipPane_Slide.setToY(0);
clipPane_幻灯片。设置循环计数(1);
clipPane_Slide.setAutoReverse(假);
TranslateTransition菜单栏\幻灯片=新的TranslateTransition(持续时间.毫秒(300),菜单栏);
菜单栏(幻灯片)setFromY(35);;
菜单栏滑动。设置玩具(0);
菜单栏滑动。设置循环计数(1);
菜单栏滑动。设置自动翻转(假);
ParallelTransition HideMenu=新的ParallelTransition();
HideMenu.getChildren().addAll(clipPane_幻灯片、菜单栏_幻灯片);
HideMenu.setCycleCount(1);
HideMenu.playFromStart();
fMenuVisible=假;
}
}
});

试着消化这些,试着消化这些,试着消化这些,试着消化这些,我正在尝试实现这一点。clipPane是什么?你好,我的朋友。窗格c
root.setOnMouseMoved(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if (event.getY() < 25){
                menuBar.setVisible(true);
                root.setTopAnchor(clipPane, 35.0); 
            } else {
                if (menuBar.isVisible()) {
                    menuBar.setVisible(false);
                }

                if (menuFile.isShowing()) {
                    try {
                        Robot bot = new Robot();
                        bot.mousePress(InputEvent.BUTTON1_MASK);
                        bot.mouseRelease(InputEvent.BUTTON1_MASK);
                    } catch (AWTException ex) {
                    }
                }

                root.setTopAnchor(clipPane, 0.0);
            }
        }
    });
root.setOnMouseMoved(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if ((event.getY() <= 35) && (!fMenuVisible)) {
                TranslateTransition clipPane_Slide = new TranslateTransition(Duration.millis(300), clipPane);
                clipPane_Slide.setFromY(0);
                clipPane_Slide.setToY(35);
                clipPane_Slide.setCycleCount(1);
                clipPane_Slide.setAutoReverse(false);

                TranslateTransition menuBar_Slide = new TranslateTransition(Duration.millis(300), menuBar);
                menuBar_Slide.setFromY(0);
                menuBar_Slide.setToY(35);
                menuBar_Slide.setCycleCount(1);
                menuBar_Slide.setAutoReverse(false);

                ParallelTransition ShowMenu = new ParallelTransition(); 
                ShowMenu.getChildren().addAll(clipPane_Slide, menuBar_Slide);
                ShowMenu.setCycleCount(1);
                ShowMenu.playFromStart();

                fMenuVisible = true;
            } else if ((event.getY() > 35) && (fMenuVisible)) {
                TranslateTransition clipPane_Slide = new TranslateTransition(Duration.millis(300), clipPane);
                clipPane_Slide.setFromY(35);
                clipPane_Slide.setToY(0);
                clipPane_Slide.setCycleCount(1);
                clipPane_Slide.setAutoReverse(false);

                TranslateTransition menuBar_Slide = new TranslateTransition(Duration.millis(300), menuBar);
                menuBar_Slide.setFromY(35);
                menuBar_Slide.setToY(0);
                menuBar_Slide.setCycleCount(1);
                menuBar_Slide.setAutoReverse(false);

                ParallelTransition HideMenu = new ParallelTransition(); 
                HideMenu.getChildren().addAll(clipPane_Slide, menuBar_Slide);
                HideMenu.setCycleCount(1);
                HideMenu.playFromStart();

                fMenuVisible = false;
            }
        }
    });