style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

WebView en JavaFX

No lo pude evitar:

JavaFX2.0 finalmente introduce el laaargamente esperado componente JWebPane WebView, que es un port de WebKit para ser usado en Java ( via JavaFX2.0 )

De esta forma ya se podrá tener un componente de primer nivel ( entiendasé rápido y completo ) para mostrar HTML en aplicaciones Java.

En la prueba que hice se tarda bastante en iniciar y aparecer la ventana ( alrededor de 4 segundos ) pero le achaco esto a mi Windows. Sin embargo se ve ejemplo aparece el popup de "Siguenos en Twitter" que aparece en la pagina de JavaMexico que está hecho con JavaScript.

Aunque el código está escrito en Ryz todas las bibliotecas son claro de JavaFX ( tuve que hacer algo de contorsionismo para compilarlo hay que recordar que Ryz ahora está en pre-pre-pre-alpha ) y el siguiente código da una idea de como usarlo.

JavaFX WebView llamado desde Ryz

Main.ryz

import (javafx.application.Application)
import (javafx.scene.Scene)
import (javafx.scene.paint.Color)
import (javafx.stage.Stage)
 
demo.javafx.Main : Application {
    scene : Scene
    start( stage : Stage ) {
        // create the scene
        stage.setTitle("Java Mexico desde Ryz! ( no lo pude evitar ) ")
        browser = Browser()
        scene = Scene( browser ,800,600, Color.web("#666970"))
        stage.setScene(scene)
        //scene.getStylesheets().add("/webviewsample/BrowserToolbar.css")        
        stage.setVisible(true)
    }
    __ main( args : String*   ) {
      Application.launch( args )
    }
}

Browser.ryz

import (javafx.scene.layout.Region)
import (javafx.scene.web.WebEngine)
import (javafx.scene.web.WebView)

demo.javafx.Browser : Region {
 
    browser   = WebView()
    // Address partido en dos por un bug mío :P
    address   = "/www.javamexico.org/blogs/rodrigo_salado_anaya/javafx_20_beta_tip_1#comment-13243"
    x         : String = String.format("http:/%s",address)
    webEngine = WebEngine( x )
 
    - secret(){
    }
    Browser() {
        //apply the styles
        getStyleClass().add("browser")
        // specify the web engine
        browser.setEngine(webEngine)
        getChildren().add(browser)
    }

    import (javafx.scene.Node)    
    import (javafx.scene.layout.HBox)
    import (javafx.scene.layout.Priority)
    - createSpacer() : Node  {
        spacer = Region()
        HBox.setHgrow(spacer, Priority.ALWAYS)
        spacer
    }
 
    import (javafx.geometry.HPos)
    import (javafx.geometry.VPos)
    # layoutChildren() {
        w : Double = getWidth()
        h : Double = getHeight()
        layoutInArea(browser,0,0,w,h,0, HPos.CENTER, VPos.CENTER)
    }
 
    # computePrefWidth(height : Double ) : Double  {
         d = Double(1024)
         d
    }
 
    # computePrefHeight(width : Double ) : Double {
         d = Double( 800 )
         d
    }
}

Más información y el ejemplo original en Java en:

http://download.oracle.com/javafx/2.0/webview/jfxpub-webview.htm

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Por si alguién no ha visto

Por si alguién no ha visto aquí hay un PDF de una presentación del JavaOne pasado usando JavaFX desde otros lenguajes:

http://jonathangiles.net/blog/wp-content/uploads/2010/09/JavaFXYourWay.pdf

Imagen de rodrigo salado anaya

Jajajajaj

Imparable se antoja Ryz, :P

Super Oscar.... : )
Uuuuuu recuerdo que en FinDep, platicamos de ese PDF....

Imagen de Sr. Negativo

Ryz: se ve interesante

Buena idea, en serio pase un buen rato de risa (me parecio algo chistoso lo de la ventanita ). Se ve que Ryz tiene mucho potencial.

:)

Je je lo que no tiene es un

Je je lo que no tiene es un buen compilador :P

Pero ya .. con el tiempo, paso a pasito.

Por cierto me encontré con esto:

Gramática de C++

http://weegen.home.xs4all.nl/eelis/cppgrammar.png

:-S

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">