Как встроить JPanel в панель JavaFX для визуализации графика

Как я могу добавить SwingNode в определенную панель, используя мой класс контроллера?

Я пытаюсь добавить JPanel, который загружает сетевой график, созданный с помощью библиотеки программного обеспечения JUNG. Я не знаю, как это сделать.


person Potato Mash    schedule 22.02.2016    source источник


Ответы (1)


Вы можете добиться того, чего хотите, используя класс SwingNode. . Вот пример кода, в котором JButton (компонент Swing) добавляется в StackPane (компонент JavaFX):

 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);
     }
 }

Источник: http://download.java.net/jdk8/jfxdocs/javafx/embed/swing/SwingNode.html

person Ugurcan Yildirim    schedule 22.02.2016