javafx节点部分透明

dced5bon  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(227)

我正在做一个绘图应用程序。简而言之,这个应用程序由一个背景节点(一个白色矩形)组成,该节点处理绘图(通过mousepressed、mousedragged和mouserereleased事件)。以这种方式绘制的节点位于背景节点的顶部。
现在,每个绘制的节点都有一个上下文菜单。我想让绘制的节点只在mousebutton.secondary类型的mousepressed事件时使用鼠标事件。。。否则,事件应该传播到后台节点。
当前,我可以打开“绘制的节点”上下文菜单,但无法在此绘制的节点上绘制其他节点,因为事件未传播到背景节点。。。
我该怎么办?
//编辑
目前我正在使用一种解决方法:

EventHandler< MouseEvent > handler = new EventHandler< MouseEvent > ( ) {
        @Override
        public void handle ( MouseEvent event ) {
            if ( event.getEventType ( ) == MouseEvent.MOUSE_PRESSED
                    && event.getButton ( ) == MouseButton.SECONDARY ) {
                showContextMenu ( event.getScreenX ( ), event.getScreenY ( ) );
            } else {
                Background.getInstance ( ).fireEvent ( event );
            }
        }
    };
setOnMousePressed ( handler );
setOnMouseDragged ( handler );
setOnMouseReleased ( handler );

我想应该有更好的方法。。。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题