ColorPicker在SwingNode内部的JFXPanel内部无法正常工作

时间:2017-11-15 17:57:51

标签: java swing javafx

在我的javafx应用程序中,我嵌入了一个swing组件。我希望能够更改该swing组件的颜色,因此我在其中嵌入了一个javafx ColorPicker,因此我的ColorPicker与整个javafx应用程序中使用的类似。

此颜色选择器不起作用,无论何时单击它,它都会失去焦点并且弹出窗口消失。

这是一个小示例应用程序,显示我遇到的问题:

public class TestApplication extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        // JavaFX Pane
        Pane pane = new Pane();

        // JavaFX SwingNode
        SwingNode swingNode = new SwingNode();
        pane.getChildren().add(swingNode);

        // Swing JFXPanel
        JFXPanel fxPanel = new JFXPanel();
        fxPanel.setSize(200, 50);
        swingNode.setContent(fxPanel);

        // JavaFX Color Picker
        ColorPicker colorPicker = new ColorPicker();

        // JavaFX Inner Scene
        Scene innerScene = new Scene(colorPicker);
        fxPanel.setScene(innerScene);

        // JavaFX Primary Scene
        Scene scene = new Scene(pane, 200, 50);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

colorPicker打开,但根本不允许您选择颜色,或打开自定义颜色对话框。这是怎么回事?

0 个答案:

没有答案