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.
Main.ryz
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.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
- OscarRyz's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
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
Jajajajaj
Imparable se antoja Ryz, :P
Super Oscar.... : )
Uuuuuu recuerdo que en FinDep, platicamos de ese PDF....
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