我正在遵循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文档看起来没有什么不同。有什么想法吗?
答案 0 :(得分:1)
应该是
getChildren.add(browser);
而不是
{{1}}