2016-04-07 32 views
0

版本Windows 8.1上的JxBrowser 6.3 我们在Swing框架中使用JxBroser。如果我们打开一个HTML文档,一切都很好,但如果我们打开一个PDF文档,右边的滚动条就是黑色的。这是一个已知的错误? enter image description hereJxBrowser 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); 
    } 
} 

回答

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"); 
    } 
} 

能否请您为我提供了这个文件检验.pdf,所以我可以加载在我的Windows 8.1环境,重现该问题。

+0

与你的例子相同的东西。启动程序后,没有滚动条。当您用鼠标调整窗口大小时,会绘制该黑色滚动条。 – 3ue

0

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