- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经从 AnchorPane 和一些子元素创建了一个舞台(AnchorPane 及其子元素已在 Java Scene Builder 中创建),层次结构如下所示:
舞台和场景当然是在程序初始化时以编程方式创建的。我还想以编程方式添加 GridPane 作为图像中显示的 ScrollPane 的子项。在我的程序(特定窗口的 Controller )中,我可以获得对 ScrollPane 的引用:
@FXML
private ScrollPane srcPaneUsers;
(id srcPaneUsers 已通过 Scene Builder 属性窗口的相应字段给出)
但是!!:当我尝试通过 Controller 初始化方法的以下几行以编程方式添加在运行时创建的新 GridPane 时:
public void initialize(URL location, ResourceBundle resources) {
myGridPane = new GridPane();
srcPaneUsers.getChildren().add(myGridPane);
}
我得到一个编译时错误说“Parent 类型的 getChildren() 方法不可见。”所以我无法在运行时添加我的 GridPane。有什么想法吗?
最佳答案
您调用了错误的方法。你需要
srcPaneUsers.setContent(myGridPane);
getChildren()
Parent
中定义的方法是一种 protected 方法。它在 Pane
中被覆盖成为公共(public)方法,因此对于布局 Pane ( GridPane
、 BorderPane
等),您可以直接操作子节点列表。
ScrollPane
的层次结构是 ScrollPane extends Control extends Region extends Parent
, 所以它继承了 protected
getChildren()
方法。这实际上是有道理的:ScrollPane
的子节点像视口(viewport)(剪辑内容的 View )和滚动条之类的东西:你真的不希望用户操纵它们,否则你最终得到的可能不再正确运行。 ScrollPane
实际上只有一个节点是可配置的:ScrollPane
的节点正在提供一个 View :这被称为它的 content
并通过 contentProperty()
访问, getContent()
, 和 setContent()
方法。
其他“类似容器的控件”的工作方式类似。 TabPane
类公开了一个 getTabs()
返回 ObservableList<Tab>
的方法;和 Tab
类又公开了一个 contentProperty()
这样您就可以访问每个单独选项卡的内容。 SplitPane
选项卡显示 getItems()
返回 ObservableList<Node>
的方法对于 Pane 中显示的节点。在 SplitPane
的情况下它的子节点不仅仅是项目:它们包括代表分隔线等的视觉组件。在这两种情况下,getChildren()
method 是一个 protected 方法(继承自 Parent
)。
请注意 Parent
还定义了公共(public) getChildrenUnmodifiable()
方法,它返回子节点列表的不可修改的 View 。您可以使用它来检查任何父级的节点层次结构,但不能修改它。 (但是,出于调试目的,尤其是为了使用 CSS,我建议使用 ScenicView。)
关于methods - JavaFX:ScrollPane 方法 getChildren() 不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26365309/
看下面的代码: public static void main(String[] args) { Group group1 = new Group(); Group g
我正在尝试制作一个创建棋盘的 javafx 程序。但是,当我尝试运行我的程序时,它会在这一行中抛出异常:optionsPane.getChildren().addAll(optionsPane, n_
例如,当我们向 Pane 添加新按钮时,我们需要编写以下代码: StackPane pane = new StackPane(); pane.getChildren().add(new Butto
我创建了一个单独的类来在 JavaFX 中设置网格。类如下: public class Grid { GridPane gp = new GridPane(); //sets grid (10
看下面的代码: public static void main(String[] args) { Group group1 = new Group(); Group g
我对 Java 比较陌生,尤其是 Javafx 和 GUI。我一直在研究这段代码,但我在理解最后一行正在做什么时遇到了一些困难。我知道倒数第二行是将所有组件添加到容器“p”中,但是当您在前面没有容器的
XML: .... PD1 PD2 PD3 ..
我想获取一个元素的所有子元素,包括文本节点。我如何在 MooTools 中执行此操作? mootools.net 上的文档明确指出 getChildren() 不包括文本节点。 最佳答案 您可以使用标
这是我的 xml: 例子: 987 0 F0F8DJH348DJ 46446
好吧,我不确定我是否在正确的地方问这个问题,但我希望这里有人可以帮助我。所以,我是 Java 初学者,我正在尝试制作 JavaFX 应用程序,但我的布局 1“getChildren.addAll(la
当我尝试调用 getChildren() 时在 mediapipeline 上其中运行了我的自定义模块端点我收到此异常: org.kurento.client.internal.server.Prot
为什么有时我们使用 getChildren() add() 而其他时候我们直接使用 add() es: https://docs.oracle.com/javafx/2/get_started/for
此代码不允许在我的窗口中绘制线条...我在 fxml 文件中只有一个简单的 Pane ,其 fx:id 为 hi 用于测试。没有错误,该行根本没有出现。我也用盒子和圆圈试过这个。我真的需要帮助,这是一
我有一个小问题,当我想添加文本字段时,VBOX 的按钮和标签我有一个错误:ObservableList 中的 addAll() 不能应用于: 在这个地方:vBox.getChildren().addA
如果我在 XML 文件上运行以下 python(请参见 Q 底部): import xml.etree.ElementTree as ET tree = ET.parse('C:\\temp\\tes
我清除了所有子项的网格 Pane ,然后再次将子项添加到网格 Pane 中,但它说存在重复项。 public void render(){ boardPane.getChildren().cl
我试图读取我之前在Excel工作表中插入的图像及其位置与此代码,它在我的机器上工作正常,但是当我将代码迁移到另一台电脑时,我在工作表中遇到空指针异常。 getDrawingPatriarch.getC
上下文 我正在为一个小游戏创建一个 GUI。游戏有一个开始屏幕。当玩家点击开始时,舞台场景从菜单场景变为游戏场景。新的游戏场景以 Group 作为父级,并包含一些元素,例如玩家的得分和姓名,所有这些元
我有一个 Group 子类的实例,我正在向其中添加其他 Groups。其中一个组是一个组的子类,它有一个方法 getCollision() .在那种方法中,我正在运行 for each循环检查该组父级
本文整理了Java中com.yahoo.text.XML.getChildren()方法的一些代码示例,展示了XML.getChildren()的具体用法。这些代码示例主要来源于Github/Stac
我是一名优秀的程序员,十分优秀!