在我的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打开,但根本不允许您选择颜色,或打开自定义颜色对话框。这是怎么回事?