未能找到getChildren(),遵循JavaFX WebKit的官方Oracle指南

时间:2017-04-15 12:31:20

标签: java javafx webkit javafx-2 javafx-8

我正在遵循this Oracle guide中的示例3,并使用Maven进行编译。这是整个代码(只有两个类),以及我得到的错误。

package com.anon.example;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

import com.anon.example.Browser;

public class Example extends Application
{
    private Scene scene;

    @Override public void start(Stage stage) throws Exception
    {
        stage.setTitle("WebKit Example");

        scene = new Scene(new Browser(), 750, 500, Color.web("#666970"));

        stage.setScene(scene);
        stage.show();
    }

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

package com.anon.example;

import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

class Browser extends Region
{
    final WebView browser   = new WebView();
    final WebEngine engine  = browser.getEngine();
    final String URL = "http://www.oracle.com/products/index.html";

    public Browser()
    {
        getStyleClass().add("browser");
        engine.load(URL);
        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;
    }
}

Browser.java:[27,17]无法找到符号 [错误]符号:变量getChildren

我很难过 - getChildren()应该从Region继承,它从Parent继承它。谷歌没有答案。我意识到该指南是为JavaFX 2编写的,但在这方面,8的API文档看起来没有什么不同。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

应该是

        getChildren.add(browser);

而不是

{{1}}