本文介绍了如何在javaFX 2.0应用程序中实现awt.CardLayout的功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的javaFX 2.0应用程序中,我需要替换一个使用awt.CardLayout的组件. Cardlayout具有作为堆栈的功能,可显示堆栈中的顶部组件.而且我们也可以手动配置要显示的内容.
In my javaFX 2.0 app, I need to replace a component which is used awt.CardLayout. Cardlayout has a functionality as a stack which displays the top component in stack. And also we can manually configure which is to be displayed.
在javaFX 2.0中,有一个称为StackPane的布局.但这似乎不像Cardlayout.
In javaFX 2.0, there is a layout called StackPane. But It doesn't seems like Cardlayout.
推荐答案
没有CardLayout,但是您可以使用TabPane或简单地切换组:
There is no CardLayout, but you can use TabPane or simply switch groups:
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();
}
这篇关于如何在javaFX 2.0应用程序中实现awt.CardLayout的功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!