JavaFX - GUJ em forma de app desktop

6 respostas
htmljavafxprogramaçãojavaphp
C

Olá
Pesquisei sobre como capturar uma página da internet e colocá-la em um Stage no JavaFX. Em Swing, eu levei um bom tempo pra fazer e ainda assim, ficava imperfeito. Em JavaFX levou literalmente alguns segundos.

Não é uma dúvida que vim trazer, é apenas um tópico para mostrar algo que me interessou. Apesar de não ser difícil de achar paginas da internet que falem sobre isso, vale deixar bem claro o que foi feito. E o resultado foi o seguinte:

Sei que é coisa bem simples, mas a cada dia que passa, me impressiono mais com o JavaFX e sua simplicidade. Segue o código usado:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
//
public class Main extends Application {
//
    @Override
    public void start(Stage primaryStage) throws Exception{
        WebView web = new WebView();
        web.getEngine().load("http://www.guj.com.br");
        primaryStage.setTitle("GUJ");
        primaryStage.setScene(new Scene(web, 800, 500));
        primaryStage.show();

    }
         //
         public static void main(String[] args) {   launch(args);  }
         //
}

O link que segui para fazer, foi o seguinte:

Claro que mudando o link da URL, poderá ser direcionado para qualquer site. Inclusive sua Netflix kk
Você leitor, faça bom proveito.

6 Respostas

T

O componente web do JavaFX (Webview), sendo baseado no Webkit (motor de Chrome e Safari, por exemplo) é muuuuuuuuuuito melhor que os do Swing “padrão” (“JEditorPane”). Só isso já garante uma diferença absurda.

Embora o uso no Swing não seja complicado (não sei qual dificuldade você teve), a qualidade de renderização é muito inferior.

Abraço.

C

Obrigado pela contribuição!

De fato, eu nao conhecia o JEditorPane
Vou dar uma olhada :slight_smile:

Novamente, obrigado pela contribuição!

T

Se já se acostumou com o WebView e JavaFX, recomendo ficar longe do JEditorPane :smile: . Ele serviu bem nas sua época, mas atualmente está defasado demais . Salvo engano, não suporta nada de html 5, e tem suporte precário ao html 4 ( de 1999 ! ).

Se quiser insistir no Swing sem usar o JEditorPane, pode tentar o JxBrowser ou o SwingBox, além do DJNativeSwing (embora este último também pareça defasado). Seria interessante uma comparação entre essas opções.

Abraço.

R

Também recomendo nem perder seu tempo com JEditorPane no Swing, pois ele não é um renderizador de html como o WebView, ele apenas ACEITA ALGUMAS marcações html/css para estilização de texto para caso queira fazer um word da vida, mas nem de longe ele serve para renderizar uma página.

C

Creio que com essas recomendações, vou me manter no JavaFX com WebView mesmo kkk

Obrigado a todos pelas informações!

A

Você ainda pode embutir o webview do fx num componente swing usando o JFXPanel. Fiz isso em alguns sistemas e tive bons resultados.

Criado 12 de março de 2017
Ultima resposta 14 de mar. de 2017
Respostas 6
Participantes 4