1

我尝试将 spagoBi 集成到 javaFX 应用程序中,因此我直接从 spagoBI 加载 url 您可以看到图例未正确显示。您可以运行下面的代码来查看问题。配置:javafx 2.2.x 和 java 7。你知道吗?一种解决方法?我需要在 java 7 上工作,所以我不能使用 java 8。

提前致谢 !

最好的问候,弗洛里安

package javafxapplication3;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
import static javafx.application.Application.launch;
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;
import javax.script.ScriptException;
import org.apache.axis.AxisFault.*;

public class JavaFXApplication3 extends Application {

private Scene scene;

@Override
public void start(Stage stage) {
    // create the scene
    stage.setTitle("Web View");
    try {
        scene = new Scene(new Browser(), 750, 500, Color.web("#666970"));
    } catch (IOException ex) {
        Logger.getLogger(JavaFXApplication3.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ScriptException ex) {
        Logger.getLogger(JavaFXApplication3.class.getName()).log(Level.SEVERE, null, ex);
    }
    stage.setScene(scene);
    //scene.getStylesheets().add("webviewsample/BrowserToolbar.css");
    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() throws IOException, ScriptException {
    //apply the styles
    getStyleClass().add("browser");
    // load the web page
    webEngine.load("http://spagobi.eng.it/SpagoBI//servlet/AdapterHTTP?"
            + "NEW_SESSION=true&ACTION_NAME=EXECUTE_DOCUMENT_ACTION"
            + "&user_id=biuser&OBJECT_LABEL=DOC_CRT_009"
            + "&TOOLBAR_VISIBLE=true&SLIDERS_VISIBLE=TRUE");
    //webEngine.loadContent(null);
    //webEngine.load(ur);
    //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;
}
} 
4

0 回答 0