SetDragDropped不更改样式

时间:2018-10-09 17:27:59

标签: java javafx drag-and-drop

我正在尝试在战舰游戏中进行拖放操作,并完成“拖动”部分,但“拖放”部分无法正常工作。

我已经为拖放目标设置了一个按钮网格,并将setOnDragDropped设置为以下内容:

        for(Node target: playerGrid.getChildren()) {
            if(target.getId() != null) {
                target.setOnDragDropped(new EventHandler<DragEvent>() {
                    public void handle(DragEvent event) {
                        /* data dropped */
                        /* if there is a string data on dragboard, read it and use it */
                        Dragboard db = event.getDragboard();
                        boolean success = false;
                        if (db.hasString()) {
                           target.setStyle("-fx-background-color: yellow");
                           success = true;
                        }
                        /* let the source know whether the string was successfully 
                         * transferred and used */
                        event.setDropCompleted(success);

                        event.consume();
                     }
                });
            }

        }

但是,我将Image拖到每个按钮上,这不会将按钮的颜色更改为黄色。

有什么想法会导致样式保持不变?

0 个答案:

没有答案