JFXPanel jfxPanel = new JFXPanel(); // Scrollable JCompenent Platform.runLater( () -> { // FX components need to be managed by JavaFX WebView webView = new WebView(); webView.getEngine().loadContent( "<html> Hello World!" ); webView.getEngine().load( "http://www.stackoverflow.com/" ); jfxPanel.setScene( new Scene( webView ) ); });
final JFXPanel fxPanel = new JFXPanel();
jfxPanel = new JFXPanel();
private void setupJavaFX() throws InterruptedException { System.out.println("Initializing JavaFX thread"); final CountDownLatch latch = new CountDownLatch(1); SwingUtilities.invokeLater(() -> { new JFXPanel(); latch.countDown(); }); latch.await(); System.out.println("JavaFX initialized"); } }
@Override public void run() { new JFXPanel(); // this will prepare JavaFX toolkit and environment Platform.runLater(new Runnable() { @Override
final JFXPanel fxPanel = new JFXPanel(); frame.add(fxPanel); frame.setBounds(200, 100, 800, 250);
public void run() { new JFXPanel(); // initializes JavaFX environment latch.countDown(); } });
public static JFXPanel getJfxPanel(String title, int width, int height) { JFrame frame = new JFrame(title); final JFXPanel fxPanel = new JFXPanel(); frame.add(fxPanel); frame.setSize(width, height); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); return fxPanel; } }
protected void setupJavaFX() throws InterruptedException { long timeMillis = System.currentTimeMillis(); final CountDownLatch latch = new CountDownLatch(1); SwingUtilities.invokeLater(() -> { // initializes JavaFX environment new JFXPanel(); latch.countDown(); }); System.out.println("javafx initialising..."); latch.await(); System.out.println("javafx is initialised in " + (System.currentTimeMillis() - timeMillis) + "ms"); }
final JFXPanel fxPanel = new JFXPanel(); frame.add(fxPanel); // your Swing frame Platform.runLater(new Runnable() { @Override public void run() { fxPanel.setScene(scene); // scene of you FX app } }); }
JFrame frame = new JFrame("Swing and JavaFX"); final JFXPanel fxPanel = new JFXPanel(); frame.add(fxPanel); Platform.runLater(new Runnable() { @Override public void run() { // This method is invoked on the JavaFX thread Scene scene = ...; // Create your scene fxPanel.setScene(scene); } });
JFrame frame = new JFrame(); final JFXPanel mainJFXPanel = new JFXPanel(); frame.getContentPane().add(mainJFXPanel); Scene scene = new Scene(rootnode); mainJFXPanel.setScene(scene);
JFXPanel jfxPanel = new JFXPanel(); JFrame frame = new JFrame(); frame.add(jfxPanel); frame.setSize(...); Platform.runLater(() -> { CubeDemo cubeDemo = new CubeDemo(); Scene scene = new Scene(cubeDemo.getView()); jfxPanel.setScene(scene); }); frame.setVisible(true);
JFrame frame = new JFrame(); JFXPanel jfxPanel = new JFXPanel(); frame.add(jfxPanel); frame.setVisible(true); Platform.runLater(() -> { AnimatedChart animatedChart = new AnimatedChart(); Scene scene = new Scene(animatedChart.getView()); jfxPanel.setScene(scene); animatedChart.play(); });
protected void initializeBrowser() { panel = new JFXPanel(); runLater(() -> { webView = createWebView(); if (webView == null) return; log.info("Using JavaFX WebView to create map view: " + JavaFX8WebViewMapView.this.getClass().getName()); initializeWebPage(); }); }
// You should execute this part on the Event Dispatch Thread // because it modifies a Swing component JFXPanel jfxPanel = new JFXPanel(); jFrame.add(jfxPanel); // Creation of scene and future interactions with JFXPanel // should take place on the JavaFX Application Thread Platform.runLater(() -> { WebView webView = new WebView(); jfxPanel.setScene(new Scene(webView)); webView.getEngine().load("http://www.stackoverflow.com/"); });
JFrame frame = new JFrame(); frame.setUndecorated(true); frame.setBackground(new java.awt.Color(0, 0, 0, 0)); final JFXPanel fxPanel = new JFXPanel(); frame.add(fxPanel); frame.setSize(422, 116); frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); fxPanel.setScene(scene); frame.setResizable(false); frame.setAlwaysOnTop(true); frame.setFocusableWindowState(false); // <- Here is the secret frame.setVisible(true);
public NewWorkerView(PresentationModel model) { Validate.notNull(model); setLayout(new BorderLayout()); fxPanel = new JFXPanel(); //Scene dimensions not used by Dialog as it is created later, set on fxPanel as well: fxPanel.setPreferredSize(new Dimension(SCENE_WIDTH, SCENE_HEIGHT)); Platform.setImplicitExit(false); // create JavaFX scene Platform.runLater(new SceneInitializer(model)); add(fxPanel, BorderLayout.CENTER); }
//still on Swing thread JFXPanel panel = new JFXPanel(); //now setting the scene to be embedded on the JFXPanel //this must be done inside the FX Application thread Platform.runLater(() -> { Group group = new Group(); group.getChildren.addAll(new Button("Cancel"), new Button("Save"), new Text("Status")); panel.setScene(new StackPane(group))}); //back on the Swing thread frame.add(panel);
new JFXPanel(); // used for initializing javafx thread (ideally called once) Platform.runLater(() -> { FileChooser fileChooser = new FileChooser(); //Set extension filter FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter("JPG files (*.jpg)", "*.JPG"); FileChooser.ExtensionFilter extFilterPNG = new FileChooser.ExtensionFilter("PNG files (*.png)", "*.PNG"); fileChooser.getExtensionFilters().addAll(extFilterJPG, extFilterPNG); //Show open file dialog File file = fileChooser.showOpenDialog(null); });