0

Windows 8.1 上的 JxBrowser 6.3 版本 我们在 Swing 框架中使用 JxBroser。如果我们打开一个 HTML 文档,一切都很好,但是如果我们打开一个 PDF 文档,右侧的滚动条是黑色的。这是一个已知的错误吗? 在此处输入图像描述

import java.awt.BorderLayout;
import java.awt.Frame;
import java.text.MessageFormat;

import javax.swing.JFrame;
import javax.swing.WindowConstants;

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;

public class PrintPreviewTest extends JFrame {

    static String pathToPdf = "c:\\Test.pdf";

    public static void main(String[] args) {
        PrintPreviewTest printPreview = new PrintPreviewTest();
        printPreview.zeigeDruckvorschau();
    }

    private BrowserView viewFuerDruckvorschau = new BrowserView(new Browser());

    /**
     * 
     * @param richtigSchliessen
     *            wird das Fenster geschlossen wird nochmal extra dispose
     *            aufgerufen.
     */
    public PrintPreviewTest() {
        initialize();
    }

    public Browser getBrowser() {
        return viewFuerDruckvorschau.getBrowser();
    }

    private void initialize() {
        setTitle("test"); //$NON-NLS-1$
        setSize(1024, 768);
        //        viewFuerDruckvorschau.setSize(1024, 768);
        //        viewFuerDruckvorschau

        add(viewFuerDruckvorschau, BorderLayout.CENTER);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        setVisible(true);
    }

    /**
     * Erstellt eine Seite, die dem Benutzer angezeigt wird, während das PDF
     * Dokumente für die Druckervorschau erstellt wird.
     * 
     * @return
     */
    private String getWarteSeite() {
        return MessageFormat.format("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n" + //$NON-NLS-1$
                "<html>\r\n" + //$NON-NLS-1$
                "<head>\r\n" + //$NON-NLS-1$
                "    <title>{0}</title>\r\n" + //$NON-NLS-1$
                "    <META http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n" + //$NON-NLS-1$
                "</head>\r\n" + //$NON-NLS-1$
                "<body>\r\n" + //$NON-NLS-1$
                "    {0}\r\n" + //$NON-NLS-1$
                "</body>", "Preview is creating"); //$NON-NLS-1$ //$NON-NLS-2$
    }

    /**
     * 
     * @param druckauftragFergtigHandler
     *            Wenn der Thread durchglaufen ist und das PDF erstellt worden
     *            ist wird diese Funktion aufgerufen. Dem Benutzer kann so
     *            signalisiert werden, dass der Prozess beendet worden ist.
     */
    public void zeigeDruckvorschau() {
        Browser browserDruckvorschau = getBrowser();
        Thread t = new Thread(() -> {
            browserDruckvorschau.loadURL(pathToPdf);
        });
        t.start();
        setState(Frame.NORMAL);
    }
}
4

2 回答 2

0

与您的示例相同。启动程序后,没有滚动条。当您使用鼠标调整窗口大小时,会绘制此黑色滚动条。

于 2016-04-14T04:57:27.490 回答
0

看起来问题出在 PDF 文档中。使用以下示例和 JxBrowser 6.3,文档显示没有任何问题:

import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;

import javax.swing.*;
import java.awt.*;

public class PDFViewerSample {
    public static void main(String[] args) {
        Browser browser = new Browser();
        BrowserView view = new BrowserView(browser);

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(view, BorderLayout.CENTER);
        frame.setSize(800, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        browser.loadURL("http://www.orimi.com/pdf-test.pdf");
    }
}

能否请您提供此 Test.pdf 文档,以便我可以将其加载到我的 Windows 8.1 环境中并重现该问题。

于 2016-04-11T12:56:51.800 回答