Không có CardLayout, nhưng bạn có thể sử dụng TabPane hoặc đơn giản là chuyển nhóm:
public void start(Stage stage) {
VBox vbox = new VBox(5);
Button btn = new Button("1");
Button btn2 = new Button("2");
final Pane cardsPane = new StackPane();
final Group card1 = new Group(new Text(25, 25, "Card 1"));
final Group card2 = new Group(new Text(25, 25, "Card 2"));
btn.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
cardsPane.getChildren().clear();
cardsPane.getChildren().add(card1);
}
});
btn2.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent t) {
cardsPane.getChildren().clear();
cardsPane.getChildren().add(card2);
}
});
vbox.getChildren().addAll(btn, btn2, cardsPane);
stage.setScene(new Scene(vbox));
stage.setWidth(200);
stage.setHeight(200);
stage.show();
}
Nguồn
2011-11-29 12:20:05
Tôi đã thử với TabPane. Nhưng nó sẽ hiển thị một menu tab. Vì vậy, tôi đã sử dụng cách bạn đã đề xuất ở đây. Nó hoạt động tốt cho yêu cầu của tôi. Cảm ơn Sergey. :) – Anuruddha
Lưu ý, có điều khiển mới có tên là 'Pagination' trong phiên bản 2.2 có thể phù hợp với nhu cầu của bạn hơn nữa. –