JavaFX Web视图的滚动条和对齐问题

时间:2016-03-29 16:07:31

标签: javafx webview

我正在使用Javafx webview将网页嵌入到独立的Java应用程序中。该应用程序的帧大小为415 x 180.我希望网页的左上角显示在jfxPanel的左上角。由于某种原因,网页LHS出现在我的jfxPanel LH​​S的左侧。我可以用css调整页面来缩进页面,但是想知道在我的java代码中是否有一种简单的方法可以解决这个问题?

此外,滚动条已消失。我只需要垂直滚动条。我需要改变什么想法,以便我可以有一个垂直滚动条?

在我的主要java程序中,我有:

JPanel jPanel = new JPanel();
browser browser = new browser(jPanel);                           
browser.loadURL("http://www.url.com");
jtp.addTab("tab", jPanel);

bowser课程是:

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView; 
import javax.swing.*;
import java.awt.*;
import java.net.MalformedURLException;
import java.net.URL;


public class browser extends JFrame {

    private final JFXPanel jfxPanel = new JFXPanel();
    private WebEngine engine;
    private JPanel panel;

    public browser(JPanel panel) {
        super();
        this.panel = panel;
        initComponents();
    }


    private void initComponents() {

        createScene();

        panel.add(jfxPanel, BorderLayout.CENTER);

    }

    private void createScene() {

        Platform.runLater(new Runnable() {
            @Override 
            public void run() {

                WebView view = new WebView();
                engine = view.getEngine();


                jfxPanel.setScene(new Scene(view));
            }
        });
    }

    public void loadURL(final String url) {
        Platform.runLater(new Runnable() {
            @Override 
            public void run() {
                String tmp = toURL(url);

                if (tmp == null) {
                    tmp = toURL("http://" + url);
                }

                engine.load(tmp);
            }
        });
    }

    private static String toURL(String str) {
        try {
            return new URL(str).toExternalForm();
        } catch (MalformedURLException exception) {
                return null;
        }
    }


} 

0 个答案:

没有答案