我在试着引用WebEngine
public class ClientArea implements Initializable {
public WebEngine engine;
@Override
public void initialize(URL url, ResourceBundle rb) {
engine = browser.getEngine();
engine.load("about:blank");
}
}对于同一文件中的类(ClientArea.java)
private static class SearchBox extends Region {
private WebEngine engine; // private or public
private TextField insertU;
private Button refreshButton;
private Button stopButton;
private Button backButton;
private Button forwardButton;
public Button voltarButton;
public SearchBox() {
}
}但这不起作用,那会是什么呢?
发布于 2013-03-22 16:50:15
也许我不明白你的问题。您希望从嵌套类(SearchBox)访问顶级类(ClientArea)的字段(engine)。
如果嵌套类不是 static,就很容易实现。在这种情况下,内部类保持对外部类的引用(ClientArea.this),并且可以访问外部类的字段和方法。
public class ClientArea implements Initializable {
public WebEngine engine;
@Override
public void initialize(URL url, ResourceBundle rb) {
engine = browser.getEngine();
engine.load("about:blank");
}
private class SearchBox extends Region {
public SearchBox() {
System.err.println(engine);
}
private ClientArea getClientArea() {
return ClientArea.this;
}
private WebEngine getWebEngine() {
return engine;
}
}
}看看this answer关于静态嵌套类和内部类之间的区别。
The java tutorial on the nested classes.
https://stackoverflow.com/questions/15529452
复制相似问题