次のコードが機能するはずです。
iconid.setOnMouseClicked( event -> {
Stage obj = (Stage) iconid.getScene().getWindow();
obj.setIconified(true);
});
編集:私はここに来たばかりなので、コードをより適切に提示する方法を知りませんでした。というわけで頑張ります。
expln は次のとおりです:- 変数の意味-
iconid
: ImageView 要素の fxid。
obj
: 宣言できるランダムなステージ オブジェクト。
これevent ->{}
はラムダ関数であり、作業が減るため、頻繁に使用します。
2 行目で行うことは、新しいステージ オブジェクトを作成し、それを現在表示されているステージと同一視することです。これは、.getScene().getWindow()
プロパティを使用して取得されます。一貫性を保つために同じ ImageView 要素を使用しましたが、同じステージに属する任意の要素を使用できます (同じウィンドウのボタンなど)。
3行目はメソッドを呼び出す場所ですsetIconified(boolean)
[最適な命名方法ではありませんが、タスクバーに「アイコン化」してウィンドウからアイコンに変えることに関係していると思います]「true」に設定すると、指定したウィンドウが最小化されます. それはそれについてです。