我对Java比较新,尤其是Javafx和GUI。我一直在研究这段代码,但是我在理解“最后一行”的作用时遇到了一些麻烦。我理解最后一行是将所有组件添加到容器中,但是当你在没有容器之前调用getChildren()时会发生什么。无论如何,任何帮助表示赞赏。
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
public class DVDButtonPane extends Pane {
public DVDButtonPane(){
Pane p = new Pane();
Button add = new Button("Add");
add.setPrefSize(95, 30);
add.relocate(0, 0);
add.setStyle("-fx-font: 12 arial; -fx-base: rgb(0,100,0); -fx-text-fill: rgb(255,255,255);");
Button delete = new Button("Delete");
delete.setPrefSize(90, 30);
delete.relocate(100, 0);
delete.setStyle("-fx-font: 12 arial; -fx-base: rgb(100,0,0); -fx-text-fill: rgb(255,255,255);");
Button stats = new Button("Stats");
stats.setPrefSize(90, 30);
stats.relocate(210, 0);
p.getChildren().addAll(add, delete, stats);
getChildren().add(p);
}
}
答案 0 :(得分:2)
getChildren
与调用this.getChildren
相同。该行将p
添加到DVDButtonPane
的子集合中。
答案 1 :(得分:1)
将“p”添加到DVDButtonPane。但是如果DVDButtonPane本身是从Pane扩展的话。您可以直接将按钮添加到DVDButtonPane