将JPanel添加到Javafx

将JPanel添加到Javafx,java,swing,javafx,jpanel,flowpane,Java,Swing,Javafx,Jpanel,Flowpane,我目前正在为数字签名设计一个签名解决方案。我收到了一个带有API的签名平板电脑。API已关闭,我无法更改其中的任何内容。现在的问题是我无法处理设备的响应。当我签名或画画的时候,我会收到一个JPanel形式的答案。由于我使用JavaFX场景编程,我现在不知道如何将JPanel包含到我的场景中。我只学会了使用JavaFx,所以我对JPanel和其他东西不太了解 所以。。我想知道是否有办法将Jpanel添加到FlowPane中。我所发现的关于这个话题的所有线索都是关于另一方面的。。当人们试图向Jpan

我目前正在为数字签名设计一个签名解决方案。我收到了一个带有API的签名平板电脑。API已关闭,我无法更改其中的任何内容。现在的问题是我无法处理设备的响应。当我签名或画画的时候,我会收到一个JPanel形式的答案。由于我使用JavaFX场景编程,我现在不知道如何将JPanel包含到我的场景中。我只学会了使用JavaFx,所以我对JPanel和其他东西不太了解

所以。。我想知道是否有办法将Jpanel添加到FlowPane中。我所发现的关于这个话题的所有线索都是关于另一方面的。。当人们试图向Jpanel添加javafx组件时。但不是这样。。所以,也许这是非常明显的怎么做,但我不明白

JPanel x = pad.startSiganture();
FlowPane flow = new FlowPane();
flow.getChildren.addAll(x);
基本上,这就是我的梦想,当然,这是行不通的。所以谢谢你的回复,我希望这是可能的


YXCD

是,这是可能的:将您的JPanel添加到SwingNode,然后将其放入流程窗格:

SwingNode node = new SwingNode()
node.setContent(pad.startSiganture());
FlowPane flow = new FlowPane();
flow.getChildren.addAll(node);

是的,这可以通过SwingNode实现,SwingNode是一个javafx节点,可以包含swing内容,请参见文档所述:

此类用于将Swing内容嵌入JavaFX应用程序。要显示的内容由接受Swing JComponent实例的setContent(javax.Swing.JComponent)方法指定。JComponent实例中包含的组件层次结构不应包含任何重量级组件,否则SwingNode可能无法绘制它。内容将自动绘制。所有的输入和焦点事件都以对开发人员透明的方式转发到JComponent实例

下面是一个典型的模式,演示了如何使用SwingNode:

public class SwingFx extends Application {

     @Override
     public void start(Stage stage) {
         final SwingNode swingNode = new SwingNode();
         createAndSetSwingContent(swingNode);

         StackPane pane = new StackPane();
         pane.getChildren().add(swingNode);

         stage.setScene(new Scene(pane, 100, 50));
         stage.show();
     }

     private void createAndSetSwingContent(final SwingNode swingNode) {
         SwingUtilities.invokeLater(new Runnable() {
             @Override
             public void run() {
                 swingNode.setContent(new JButton("Click me!"));
             }
         });
     }

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