如何将swingNode
添加到特定
面板中?
我正在尝试将加载小程序的JPanel
添加到以下透明区域,但不确定如何实现。
SwingNode
是一个 JavaFX场景节点,可添加到任何JavaFX场景布局中。
将JPanel添加到Pane并在JavaFX舞台上显示的步骤:
一个非常简单的代码示例,展示了如何将其添加到Pane中(来自SwingNode
Javadoc):
public class SwingNodeExample extends Application {
@Override
public void start(Stage stage) {
final SwingNode swingNode = new SwingNode();
createAndSetSwingContent(swingNode);
Pane pane = new Pane();
pane.getChildren().add(swingNode); // Adding swing node
stage.setScene(new Scene(pane, 100, 50));
stage.show();
}
private void createAndSetSwingContent(final SwingNode swingNode) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JPanel panel = new JPanel();
panel.add(new JButton("Click me!"));
swingNode.setContent(panel);
}
});
}
public static void main(String[] args) {
launch(args);
}
}