JavaFX,swing初心者です。
JavaFX Scene Builderで作成したFXMLファイルをロードして表示させ、その内の一つのpane(今回はBorder Pane)に対してswingのプログラムをはめ込みたいと考えています。
環境としまして、OSはWindows7、実行できたらlinuxでも実行するつもりです。
eclipseを使ってプログラムを書いています。
以下はメインプログラムと結果です。
Java
1 2public class swingFX extends Application { 3 public static void main(String[] args) { 4 launch(args); 5 } 6 @Override 7 public void start(Stage stage) { 8 AnchorPane fxml; 9 FXMLLoader loader = new FXMLLoader(getClass().getResource("SwingFX.fxml")); 10 try { 11 fxml = loader.load(); 12 ![イメージ説明](e6c7237dec4d02681fcd6a076393ecd0.png)h (IOException ex) { 13 Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); 14 System.out.println("FXMLロードエラー"); 15 return; 16 } 17 Scene scene = new Scene(fxml); 18 stage.setScene(scene); 19 final SampleController controller = (SampleController) loader.getController(); 20 stage.show(); 21 } 22}
目的としまして、オレンジ色の部分にswingのプログラム
を入れ込んで、右側のlabelやbuttonと一緒に表示させたいです。
参考までにswingのプログラムは
Java
1public class a extends Application{ 2 public static void main(String[] args){ 3 launch(args); 4 } 5 @Override 6 public void start(Stage stage) throws Exception { 7 Dimension viewArea = new Dimension(600, 600); 8 9 10 //以下3行はjungというクラスライブラリのメソッドです 11 Graph<MyNode, MyEdge> graph = new DirectedSparseGraph<MyNode, MyEdge>(); 12 Layout<MyNode, MyEdge> layout = new CircleLayout<MyNode, MyEdge>(graph); 13 VisualizationViewer<MyNode, MyEdge> panel = new VisualizationViewer<MyNode, MyEdge>(layout, viewArea); 14 15 16 JFrame frame = new JFrame("Graph View: Edge Width"); 17 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 18 frame.getContentPane().add(panel); 19 frame.pack(); 20 frame.setVisible(true); 21 stage.show(); 22 } 23} 24
となります。swingというよりは、JavaFXで強引に表示させてる感じですね。
不必要かもしれませんが、JavaFX Scene Builderのスクリーンショットを貼り付けておきます。
拙い説明文で申し訳ありませんが、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/28 07:31 編集