JxBrowser supports Adobe Flash plugin and can display Flash content on Windows and macOS platforms. In order to display Flash contents you need to download and install Flash Player. Flash content is displayed in windowless mode, so make sure that Flash content you display on the web page really supports this mode.


NPAPI & PPAPI Plugins

Since April 2015 Google Chrome stopped supporting NPAPI plugins. JxBrowser 6.4 and higher doesn't support NPAPI plugins as well. We recommend that you download and install Flash PPAPI plugin.


Windows & Mac

To download Flash PPAPI plugin go to https://get.adobe.com/flashplayer/otherversions, select your operating system and PPAPI plugin version in the second dropdown menu as shown blow:


JxBrowser will automatically find installed Flash PPAPI plugin and use it to display Flash content.


Console Window Issue

On Windows you may notice that the PPAPI Flash player plugin briefly displays and hides a console window during startup. This console window displays the "NOT SANDBOXED" text and disappears immediately. The reason of this behavior is in disabled Chromium sandbox. By default, the Chromium sandbox is disabled. To get rid of this flashing console window you must enable Chromium sandbox.


Linux

Installation process of PPAPI Flash can be different depending on Linux distribution. The following instruction describes how to install PPAPI Flash on Ubuntu 12.04+.


1. Add PPA repository and install pepflashplugin-installer package. 

sudo add-apt-repository ppa:skunk/pepper-flash
sudo apt-get update
sudo apt-get install pepflashplugin-installer

2. Specify path to the installed PPAPI Flash if necessary. JxBrowser searches PPAPI Flash in the default locations which are different on various Linux distributions. Here is the list of the locations where JxBrowser expects to find PPAPI Flash: 

/usr/lib/pepflashplugin-installer/
/usr/lib/pepperflashplugin-nonfree/
/usr/lib/chromium/PepperFlash/
/usr/lib64/chromium/PepperFlash/


In case you have installed PPAPI Flash at a different location you must specify path to the Flash library using Chromium switchers as shown in the following sample: 

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

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

/**
 * This sample loads a web page with simple Flash content.
 */
public class FlashSample {
    public static void main(String[] args) {
        BrowserPreferences.setChromiumSwitches(
                "--ppapi-flash-path=/usr/lib/flash/libpepflashplayer.so", 
                "--ppapi-flash-version=20.0.0.270");
        Browser browser = new Browser();
        BrowserView view = new BrowserView(browser);

        JFrame frame = new JFrame("Flash Sample");
        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.webthrower.com/portfolio/narnia.htm");
    }
}