2

JavaFX FXML ファイルでグラフを生成するデスクトップ アプリケーションを作成する必要があります。eclipse で mxGraph ライブラリを使用してグラフを作成し、Scene Builder を使用して FXML ファイルを編集していますが、グラフを FXML ファイル内に表示することはできません。JFrame を使用する場合にのみ機能します。私がこのように実行すると:

public class mxgraphteste extends JFrame{

public mxgraphteste(){
  mxGraph grafo = new mxGraph();
  Object parent = grafo.getDefaultParent();

  Object v1 = grafo.insertVertex(parent, null, "Brazil", 100, 100, 50, 40);
  Object v2 = grafo.insertVertex(parent, null, "Soccer", 240, 150, 50, 40);
  Object a1 = grafo.insertEdge(parent, null, "loves", v1, v2);

  mxGraphComponent graphComponent = new mxGraphComponent(grafo);
  getContentPane().add(graphComponent);
}

public static void main(String[] args) {
    mxgraphteste frame = new mxgraphteste();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(400, 320);
  frame.setVisible(true);
}

}

できます。しかし、私はグラフがこれの中に入る必要があります:

<AnchorPane prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.TelaPrincipalController">
    <children>
        <BorderPane fx:id="borderPane" layoutX="446.0" layoutY="141.0" prefHeight="600.0" prefWidth="800.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
            <right>
                <Pane fx:id="paineDireita" prefHeight="491.0" prefWidth="126.0" BorderPane.alignment="CENTER">
                    <children>
                        <Button fx:id="buttonNo" layoutX="37.0" layoutY="179.0" mnemonicParsing="false" onAction="#selecionarNo" text="Nó" />
                        <Button fx:id="buttonAresta" layoutX="28.0" layoutY="259.0" mnemonicParsing="false" text="Aresta" />
                    </children>
                </Pane>
            </right>
            <center>
                <Pane fx:id="paineCentro" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" /> **~~~~~~~~~~~~~~~~ I NEED IT GO INSIDE THIS PANE ~~~~~~~~~~~~**
            </center>
        </BorderPane>
    </children>
</AnchorPane>

私はすでにjdk8を使用しています。JavaFX アプリケーションの Swing コンテンツに関する Oracle のチュートリアルに従おうとしましたが、グラフを SwingNode に変換できませんでした。JavaFX を使用した Swing アプリケーション用の JFXPanel を使用したソリューションを見つけましたが、その逆では機能しませんでした。誰かが私が間違ったことを知っているか、どうすればこれを解決できますか? ありがとうございました!

4

1 に答える 1