指定したポイントが自分のコントロール領域にあるかどうかを検出したいと思います。 例 - ポイント(100,100)ボタン上にあるかどうかを知りたいですか?特定のポイントが特にJavaFXでバインドされているかどうかを検出する方法
答えて
座標系とポイントがNode
の内側に実際にあるかどうかを確認するためにNode.contains
を使用Node
にポイントを変換:
次の例では、すべてのチェック500ミリ秒、スクリーン座標(100、100)Button
の境界
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Get (100, 100) in here");
Point2D pt = new Point2D(100, 100);
Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(0.5), evt ->
System.out.println(
btn.contains(btn.screenToLocal(pt))
)
));
timeline.setCycleCount(Animation.INDEFINITE);
timeline.play();
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 200, 50);
primaryStage.setScene(scene);
primaryStage.show();
}
java.awt.Rectangle
変数を作成して、ボタンと領域の境界線をマークすることができます。次に、方法Rectangle#contains
を使用して、該当するPoint
がこの領域内にあるかどうかをテストします。あなたがここにJavadocを参照したい場合があり
:https://docs.oracle.com/javase/8/docs/api/java/awt/Rectangle.html
K私は –
それをしようと私は同じタブ・ヘッダーのための論理、メニューバー、ツールバーなどを適用することができますか? –
この場合、これらの要素は 'Rectangle'で取り込むことのできない範囲にあるため、これを行うことはできません。しかし、努力する価値がある。メニューの設定方法によって異なります。 – Confiqure
に私はいるgetGraphics()functiを使用して、それを解決している場合on
`Node n = tabShapes.getGraphic();
System.out.println( "x =" + pt.x + "y =" + pt.y);
Point2D p =新しいPoint2D(pt.x、pt.y);
ブールF = n.contains(n.screenToLocal(P)); `
- 1. 特定のポイントが特定のメニューにあるかどうかを検出する方法
- 2. VSコードが特定のWindowsマシンにインストールされているかどうかを検出する方法
- 3. スプライトが特定の間隔でタッチされていないかどうかを検出する方法
- 4. デバイスが特定の方向を指しているかどうかを検出する方法は?
- 5. 特定のコマンドが端末で実行されたかどうかを検出する方法
- 6. Android:近くの端末に特定のアプリがインストールされているかどうかを検出する
- 7. 特定のビットが設定されているかどうかを設定して確認する方法は?
- 8. 検出された顔の位置を特定する方法
- 9. 特定のビューがWebviewであるかどうかを検出する
- 10. 要素に特定のスタイルが設定されているかどうかをチェックする方法 - Javascript/EXTJS
- 11. 特定のチェックボックスをチェックする方法はチェックされているかどうかチェックされていない
- 12. 特定の時間間隔でUIButtonが押されているかどうかの検出
- 13. テキストファイルがC#で特定のパスに生成されているかどうかを確認する方法
- 14. 特定のDelphi IDEが実行されているかどうかを検出するにはどうすればよいですか?
- 15. RxSwiftで観測可能なイベントが特定の時間に放出されていないかどうかを検出する方法
- 16. Railsでサブミットして特定のパラメータが送信されているかどうかを確認する方法
- 17. 特定のテーブルから特定の行を検索するにはどうすればよいですか?
- 18. セッションが特定の値に設定されているかどうかのテスト
- 19. 特定のクッキーが存在するかどうかを検出する
- 20. 特定のオブジェクトプロパティ値がローカルストレージアレイに既に格納されているかどうかをテストする方法
- 21. JSPで特定の値が設定されているかどうかチェック
- 22. クラスの特定のインスタンスがjavaで実行されているかどうかをチェックする方法は?
- 23. 特定のバージョンのFlash PlayerがC#にインストールされているかどうかを確認する方法。
- 24. 特定のアドインがインストールされているかどうかを確認する方法はありますか?
- 25. ダイナミックテキストを作成して特定のポイントに限定するにはどうすればよいですか?
- 26. チェックボックスが特定の行でチェックされているかどうかをチェックする方法は?
- 27. ライブラリが特定のGCCバージョンでコンパイルされているかどうかを確認する方法
- 28. jQueryが特定のWebアプリケーションで使用されているかどうかを確認する方法は?
- 29. 特定のリンクがPHPでクリックされているかどうかをテストする方法
- 30. JavaScript言語機能が特定のブラウザでサポートされているかどうかを確認する方法
それはボタンのために働いていますが、他のコントロールはどうですか?特定のメニューやツールバー、タブコントロールのヘッダーなどの天気をチェックする方法 –
@AmitaPatil:これはNodeクラスのメソッドだけを使用し、あらゆる種類のノードに適用できます。ノードを特定のポイントの下に置くと、シーングラフを通してノードを検索する必要があります。マウスカーソルの下のノードを探したい場合は、[pickResult](https://docs.oracle .com/javase/8/javafx/api/javafx/scene/input/MouseEvent.html#getPickResult--)興味のあるノードを見つけるために、ノード階層に移動する必要があるかもしれません。それらにアクセスするための直接的な方法を提供し、CSSリファレンス内の適切なセレクタを参照すると役立ちます。 – fabian