在 JavaFx 的网格窗格中对节点进行分组
Group nodes in gridpane in JavaFx
是否可以在 javafx 的组节点中对网格窗格的单元格进行聚类?我想这样做的原因是在网格窗格的子集上应用不同的 css 选择器。
我在网格窗格中有这些单元格(2 行,4 列):
a1 | a2 | b1| b2
c1 | c2 | d1| d2
我有 4 个子集 (a1, a2) (b1, b2) (c1, c2) 和 (d1, d2).我尝试了嵌套网格,但是,如果每个单元格的内容具有不同的大小(例如,我为 a1 和 c1 获得不同的列大小),这将不会提供很好的布局。
The reason why I want to do this, is to apply different css selectors on subsets in the gridpane.
您可以简单地为节点提供适当的样式 类:
a1.getStyleClass().add("a");
a2.getStyleClass().add("a");
b1.getStyleClass().add("b");
b2.getStyleClass().add("b");
c1.getStyleClass().add("c");
c2.getStyleClass().add("c");
d1.getStyleClass().add("d");
d2.getStyleClass().add("d");
或 FXML
<Node fx:id="a1" styleClass="a"><!-- ... --></Node>
<Node fx:id="a2" styleClass="a"><!-- ... --></Node>
<Node fx:id="b1" styleClass="b"><!-- ... --></Node>
<Node fx:id="b2" styleClass="b"><!-- ... --></Node>
<!-- etc -->
然后您可以 select 它们并在 CSS:
中应用样式
.a {
/* style rules for a1 and a2 */
}
.b {
/* style rules for b1 and b2 */
}
然后,当然,只需按您需要的任何方式布置它们(例如,在单个网格窗格中)。
是否可以在 javafx 的组节点中对网格窗格的单元格进行聚类?我想这样做的原因是在网格窗格的子集上应用不同的 css 选择器。
我在网格窗格中有这些单元格(2 行,4 列):
a1 | a2 | b1| b2
c1 | c2 | d1| d2
我有 4 个子集 (a1, a2) (b1, b2) (c1, c2) 和 (d1, d2).我尝试了嵌套网格,但是,如果每个单元格的内容具有不同的大小(例如,我为 a1 和 c1 获得不同的列大小),这将不会提供很好的布局。
The reason why I want to do this, is to apply different css selectors on subsets in the gridpane.
您可以简单地为节点提供适当的样式 类:
a1.getStyleClass().add("a");
a2.getStyleClass().add("a");
b1.getStyleClass().add("b");
b2.getStyleClass().add("b");
c1.getStyleClass().add("c");
c2.getStyleClass().add("c");
d1.getStyleClass().add("d");
d2.getStyleClass().add("d");
或 FXML
<Node fx:id="a1" styleClass="a"><!-- ... --></Node>
<Node fx:id="a2" styleClass="a"><!-- ... --></Node>
<Node fx:id="b1" styleClass="b"><!-- ... --></Node>
<Node fx:id="b2" styleClass="b"><!-- ... --></Node>
<!-- etc -->
然后您可以 select 它们并在 CSS:
中应用样式.a {
/* style rules for a1 and a2 */
}
.b {
/* style rules for b1 and b2 */
}
然后,当然,只需按您需要的任何方式布置它们(例如,在单个网格窗格中)。