如何将swingNode
添加到specific
窗格?
我实际上是在尝试添加一个JPanel
,将小程序加载到以下的透明区域,我不知道该怎么做。< / p>
答案 0 :(得分:17)
SwingNode
是javafx scene node,可以添加到任何javafx scene layouts。
将JPanel添加到窗格并在JavaFX舞台上显示:
一个非常简单的代码示例,用于说明如何将其添加到窗格中(来自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);
}
}