2014-02-07 9 views
5

Ich habe Stackoverflow ausgiebig für Hilfe zu diesem Thema gesucht, aber die Q & Wie ich fand, sind alt und die Antworten haben sich für die aktuelle Version des JDK geändert (ich verwende derzeit 7u51).Wie bette ich einen JFrame in eine JavaFX 2.0-Anwendung ein?

Beachten Sie, dass ich in Swing nie SUPER kompetent war, aber ich glaube, ich verstehe die Grundlagen. (Ich war immer mehr auf das Fleisch in einer App konzentriert, nicht auf die GUI).

Ich versuche, mit einer Drittanbieter-Bibliothek zu arbeiten. Die Third-Party-Bibliothek erfordert, dass ihre Komponenten JFrame verwenden.

Daher versuche ich zu sehen, wie ich einen JFrame in meine JavaFX-Anwendung einbetten würde. Es gab eine alte Antwort, etwas mit javafx.ext.swing zu tun, aber das ist nicht mehr in JavaFX enthalten.

Hilfe?

==========

Ich möchte noch hinzufügen: Ich denke, Java 8, die derzeit unterstützt Beta ist das, was ich brauche auf der Grundlage dieser: http://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm, aber ich brauche, um zu sehen, ob Es gibt einen Weg, dies zu tun, ohne auf ein Beta-Produkt angewiesen zu sein.

+0

Dies funktioniert nicht mehr? http://stackoverflow.com/questions/437413/how-can-jframes-be--used-inside-of-javafx?rq=1 –

+0

Dies sollte helfen: http://stackoverflow.com/questions/6157277/how- to-wrap-a-swing-Komponente-in-javafx-2-0-Anwendung? Rq = 1 –

+0

Korrigieren Sie über diesen ersten Kommentar ... javafx.ext.swing * ist weg ... – adeena

Antwort

-1

Sie können in JavaFX 2.0 keine Swing-Steuerelemente verwenden, da die höchste Superklasse eines javafx-Steuerelements Node ist und in Swing die meiste Superklasse Component ist. In früheren Versionen von JavaFx ist zusätzlich zu Java Swing implementiert, aber Version 2.0 ist getrennt von der Swing. Daher bietet JavaFX keine eingebetteten Swing-Komponenten mehr.

+0

Sie können SwingNode verwenden, um Swing-Komponenten einzubetten. – KDM

0

No se si esto es lo que buscas.

Ich weiß nicht, ob das ist, was Sie suchen.

JFrame frame = new JFrame(); 
final JFXPanel mainJFXPanel = new JFXPanel(); 
frame.getContentPane().add(mainJFXPanel); 
Scene scene = new Scene(rootnode); 
mainJFXPanel.setScene(scene); 
+0

Bitte verwenden Sie nur Englisch in Ihren Antworten. – martijnn2008

1
  1. erstellen SwingNode s
  2. erstellen JComponent c
  3. Anruf s.setContent(c)
Verwandte Themen