Jfxtra窗口带前进/内部窗口

时间:2014-09-09 02:04:12

标签: javafx

我有一个内部jfxtra窗口。点击一个按钮,我想把它推向前进。

我尝试过的代码:

window w = new window("mdi win");
private Stage primaryStage;
private BorderPane rootLayout;

...

public void win() {

Parent bla = FXMLLoader.load(getClass().getResource("bla.fxml"));
w.getContentPane().getChildren().add(bla);
rootLayout.getChildren().add(w);
}

private void wfront(ActionEvent event) throws Exception {
  w.isMoveToFront(); // is not?
}

如何使它成为可能?

1 个答案:

答案 0 :(得分:1)

所以你让我很好奇,我浏览了JFXtras文档。我开始知道Jfxtras中的Window扩展了Control。因此,有一个名为toFront的方法可以在其上触发。为了表明这一点,我为你创建了一个样本。

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import jfxtras.scene.control.window.Window;

public class NewWindow extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        StackPane stackPane = new StackPane();
        Button button = new Button("Click Me to show Window !");
        Window window = new Window("Cick Me to bring me to front");
        button.setOnAction(new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent event) {
                    window.toFront();
                    window.setTitle("I am on the Front");
                }
        });

        window.setPrefSize(200, 200);
        stackPane.getChildren().addAll(window, button);
        Scene scene = new Scene(stackPane, 500, 500);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

请告诉我,如果您正在寻找其他内容!