Javascript não funciona no webView em javaSE

Estou tentando fazer uma aplicação onde eu quero rodar uma pagina do localhost no webView, bom eu consegui mas o problema é que não roda javascript(roda php e lê o banco de dados, mas não javascript). Ai abaixo esta o código fonte se alguém puder me ajudar?
OBS: so encontro para android e não esta dando certo e estou usando netbeans.

private void createJFXContent() {
    WebView webView = new WebView();
    webView.getEngine().load("http://localhost:8080/adm/");
    Scene scene = new Scene(webView);
    jfxPanel.setScene(scene);
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    NewFXMain swingApp = new NewFXMain();
    SwingUtilities.invokeLater(swingApp::createAndShowWindow);
}

usa o jxbrowser, esse webview do java swing nao suporta muita coisa.

Nesse repo eu fiz um “clone” do safari. Se vc der uma olhada nele vai conseguir entender a ideia. Caso nao queira olhar, acessa pelo menos só pra pegar as libs e a licença q fiz.


No seu caso basicamente vai ser isso:

public Browser browser;
public BrowserView view;

private void openWebViewOnPanel(JPanel panel){
   BrowserUtil.setVersion(Version.V6_22);
   BrowserPreferences.setChromiumSwitches("--disable-gpu", "--disable-software-rasterizer", "--disable-web-security", "--allow-file-access-from-files");

   panel.add(view, BorderLayout.CENTER);

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

   browser.loadURL("http://localhost:8080/adm/");
}

Agora se vc quiser abrir um jframe ao inves de colocar num jpanel:

public Browser browser;
public BrowserView view;

private void setUpCache() {
    String perfil = "C:\\alguma_pasta\\nome_app\\";
    BrowserContextParams params = new BrowserContextParams(perfil);
    BrowserPreferences.setChromiumSwitches("user-data-dir=" + perfil);
    BrowserContext context = new BrowserContext(params);
}

private void setUpBrowser() {
    //Licença do JX
    BrowserUtil.setVersion(Version.V6_22);
    
    setUpCache();
    //caso vc queira guardar o cache, senão, só apagar a linha acima.

    browser = new Browser(context);
    view = new BrowserView(browser);

    createJFrame();

    browser.loadURL("http://localhost:8080/adm/");
}

private void createJFrame() {
    JFrame frame = new JFrame();
    frame.add(view, BorderLayout.CENTER);
    frame.setSize(800, 600); //seta o tamanho que o jframe vai iniciar
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null); //centraliza o jframe
    frame.setExtendedState(6); //deixa o frame maximizado
    frame.setUndecorated(true); //remove a barra q tem os botoes: close, max, min
    frame.setVisible(true);
}

jxbrowser é bacana, tem recursos legais,mas para projeto comercial é pago.

WebView é grátis, tem menos liberdade é verdade , mas em relação a rodar JavaScript dentro, isso ele tira de letra.

E também usar o JavaFX dentro do Swing, infelizmente a performance não é tão boa.