2016-04-14 10 views
1

Я использую JxBrowser для загрузки некоторого контента в поле зрения.Ho, чтобы установить фон JxBrowser на прозрачный

я:

//create frame 
JFrame frame = new JFrame("Some title"); 

//create browser 
Browser browser = new Browser(); 
BrowserView view = new BrowserView(browser); 

//remove default window controls 
frame.setUndecorated(true); 

//add browser view to frame 
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
frame.add(view, BorderLayout.CENTER); 
frame.setSize(500, 400); 
frame.setLocationRelativeTo(null); 
frame.setVisible(true); 

//load url 
browser.loadURL("http://example.com"); 

, когда я бегу, мой взгляд браузер белый. Я попытался установить рамку фона на прозрачную:

frame.setBackground(new Color(0, 0, 0, 0.0f)); 

но оно скрывает все окно.

Любые идеи? как установить прозрачный фон для просмотра браузера?

+0

Не можете добавить JX-браузер панель и попробовать? – Madhujith

ответ

1

Просто нашел этот пример, это то, как вы установили прозрачный фон:

BrowserPreferences preferences = browser.getPreferences(); 
preferences.setTransparentBackground(true); 
browser.setPreferences(preferences); 

В JxBrowser 6.10 и выше, есть функциональные возможности, что позволяет включить поддержку прозрачного фона на веб-странице. В следующем примере показано, как включить поддержку прозрачным фоном:

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

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

/** 
* This sample demonstrates how to create Browser instance with transparent background. 
*/ 
public class TransparentPageSample { 
    public static void main(String[] args) { 
     Browser browser = new Browser(BrowserType.LIGHTWEIGHT); 

     // Enable support of transparent background 
     BrowserPreferences preferences = browser.getPreferences(); 
     preferences.setTransparentBackground(true); 
     browser.setPreferences(preferences); 

     BrowserView view = new BrowserView(browser); 

     JPanel panel = new JPanel(); 
     panel.setLayout(new BorderLayout()); 
     panel.setBackground(new Color(0, 150, 255, 255)); 
     panel.add(view, BorderLayout.CENTER); 

     JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
     frame.add(panel, BorderLayout.CENTER); 
     frame.setSize(300, 200); 
     frame.setLocationRelativeTo(null); 
     frame.setVisible(true); 

     browser.loadHTML("<html><body>" 
       + "<div style='background: yellow; opacity: 0.7;'>\n" 
       + " This text is in the yellow half-transparent div and should " 
       + " appear as in the green due to the blue JPanel behind." 
       + "</div>\n" 
       + "<div style='background: red;'>\n" 
       + " This text is in the red opaque div and should appear as is." 
       + "</div>\n" 
       + "<div>\n" 
       + " This text is in the non-styled div and should appear as in " 
       + " the blue due to the blue JPanel behind." 
       + "</div>\n" 
       + "</body></html>"); 
    } 
} 

https://jxbrowser.support.teamdev.com/support/solutions/articles/9000104967-transparent-background

Смежные вопросы