我在javafx2中取消了窗口的设计。现在我想通过动作最小化窗口。这是我的代码
minIcon.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
primaryStage.toBack();
}
});
当另一个窗口打开时,窗口会返回。否则不是。请告诉我如何做到这一点?
答案 0 :(得分:33)
经过一段时间的搜索,我找到了答案。
minIcon.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
primaryStage.setIconified(true);
}
});
这很好..
答案 1 :(得分:0)
以下代码应该起作用:
iconid.setOnMouseClicked( event -> {
Stage obj = (Stage) iconid.getScene().getWindow();
obj.setIconified(true);
});
编辑:我是这里的新手,所以我不知道如何更好地展示我的代码。所以我会努力的。
以下是expln:-
可变含义-
iconid
:ImageView元素的fxid。
obj
:您可以声明的随机阶段对象。
event ->{}
是一个lambda函数,它减少了我的工作,所以我经常使用它。
第二行所做的是创建一个新的舞台对象,并将其等同于所显示的当前舞台,该对象使用.getScene().getWindow()
属性进行检索。我使用了相同的ImageView元素来保持一致性,但是您可以使用属于同一阶段的任何元素(例如,来自同一窗口的按钮)
第三行是您调用方法setIconified(boolean)
的地方[不是最好的命名ik,但我认为这与将其“图标化”到任务栏有关-将其从窗口转换为图标有关)为“ true”将最小化您指定的窗口。
就是这样。