/ / JavaFX webview presenta fallas en los elementos de diseño de material polimérico: java, javafx, polímero, diseño de materiales

Problemas de la vista web de JavaFX en elementos de diseño de material de polímero - java, javafx, polímero, diseño de material

Intenté mostrar elementos de diseño de material polimérico dentro de una vista web de JAVAFX 8 y obtuve algunos fallos gráficos en algunos de ellos. Por ejemplo, el elemento de casilla de verificación desaparece al hacer clic en él.

Estoy usando la actualización 45 de sdk de java 8 en un sistema Ubuntu 15.04.

Aquí está el código:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;


import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
import javafx.scene.paint.Color;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class Main extends Application {
private Scene scene;
@Override public void start(Stage stage) {
// create the scene
stage.setTitle("Web View");
scene = new Scene(new Browser(),750,500, Color.web("#666970"));
stage.setScene(scene);

stage.show();
}

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

class Browser extends Region {

final WebView browser = new WebView();
final WebEngine webEngine = browser.getEngine();

public Browser() {
//apply the styles
getStyleClass().add("browser");
// load the web page
webEngine.load("http://www.polymer-project.org/0.5/components/paper-elements/demo.html");
//add the web view to the scene
getChildren().add(browser);

}
private Node createSpacer() {
Region spacer = new Region();
HBox.setHgrow(spacer, Priority.ALWAYS);
return spacer;
}

@Override protected void layoutChildren() {
double w = getWidth();
double h = getHeight();
layoutInArea(browser,0,0,w,h,0, HPos.CENTER, VPos.CENTER);
}

@Override protected double computePrefWidth(double height) {
return 750;
}

@Override protected double computePrefHeight(double width) {
return 500;
}
}

¿Alguna idea sobre esto? Creo que la vista web jdk no implementa completamente todas las especificaciones HTML5.

Respuestas

1 para la respuesta № 1

Funciona bien para mí:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class Polymer extends Application {
@Override public void start(Stage stage) {
WebView webView = new WebView();
webView.getEngine().load(
"http://www.polymer-project.org/0.5/components/paper-elements/demo.html"
);

System.getProperties().list(System.out);

stage.setScene(new Scene(webView));
stage.show();
}

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

$ java -version
java version "1.8.0_60-ea"
Java(TM) SE Runtime Environment (build 1.8.0_60-ea-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b12, mixed mode)

OS X 10.9.5


La página en sí misma tarda en mostrarse inicialmente, pero la misma página también se muestra en Safari (tarda unos segundos en aparecer).

Imagen de polímero