質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

Q&A

解決済

1回答

2458閲覧

JavaFXのPaneに対してSwingのプログラムをはめ込みたい

fufun

総合スコア10

JavaFX

JavaFXとは、Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリです。Swingとは異なり、FXMLと呼ばれる XMLとCSSを併用してデザインを記述します。

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

FXML

FXMLは、JavaFXに用意されているXMLベースのGUI記述言語です

0グッド

0クリップ

投稿2016/07/14 17:05

編集2016/07/26 07:22

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のスクリーンショットを貼り付けておきます。

JavaFXSceneBuilder

拙い説明文で申し訳ありませんが、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

おはようございます。

公式に情報があるようですが、確認済みですか?
7 JavaFXアプリケーションへのSwingコンテンツの埋込み(リリース8)

投稿2016/07/14 22:06

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fufun

2016/07/28 07:31 編集

解決しました! 記載ページは確認していたのですが、JButton等のコンポーネントではなく、swing側のrootのpaneを埋め込むやり方が分かりませんでしたが、うまく行きました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問