コードはJavaFXで記述されています。getBoundsInLocalの座標が正しくないのはなぜですか?
私にはルートパネルとVBox
があります。 VBox
にはたくさんの小さなパネルがあります。
VBox
に小さなパネルを1つ追加するボタンをクリックして、新しいパネルにメッセージダイアログを表示します。
button.setOnAction(() -> {
Node selectPanel = new Node();
vbox.getChildren().add(selectPanel);
Bounds bounds = selectPanel.localToScreen(selectPanel.getBoundsInLocal());
showMessage(bounds);
});
しかし、メッセージは新しいパネルの位置に表示されません。
コードをデバッグし、境界がルートパネル(またはvbox)の左上であることを確認します。誰かが新しいパネルの正しい座標を取得する方法を教えてもらえますか?
' Node'は、抽象的である 'ので、ノードselectPanel =新しいノード():
あなたは言及した行の後に次の2つのステートメントを実行することによって、それを強制することができますあなた自身の 'Node'クラスです。ラムダ式も引数がないので間違っています。コンパイルするコードだけを投稿してください。 – DVarga