2016-04-07 65 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

與你的例子相同的東西。啓動程序後,沒有滾動條。當您用鼠標調整窗口大小時,會繪製該黑色滾動條。