1

JavFx2とこれについて非常に興味深い記事を見つけました

http://docs.oracle.com/javafx/2/events/handlers.htm

ラインの機能を拡張するオブジェクトを作成する方法を知りたいので、イベントの管理を挿入します。

たとえば、マウスを 1 回左クリックするか、描画された線を左マウスで 2 回クリックするか、マウスが線の上にある (線が選択されている) 間にキーボードから canc キーを押すか、または線の外側でマウスを左クリックしますか?

どうもありがとうございました。

4

2 に答える 2

0

私はちょうど同じ問題に遭遇しました。

ドラッグ可能なヘルパー線を配置できる「描画パネル」が必要です。「setOnMousePressed」および「setOnMouseDragged」を介して MouseHandler をアタッチして、そのような動作を取得できます。

しかし、大きな問題は、線の寸法が非常に小さいため、マウスでヒットするには幸運でなければならないことです。

それが私がそれを逆に実装した理由です。描画パネルにマウス ハンドラーをアタッチし、マウス クリックごとに、マウス カーソルがヘルパー ラインの近くにあるかどうかを確認します。これにより、許容範囲を少し追加して、線をクリックしてドラッグできるようになります。

これが最も効率的な方法であるかどうかはわかりませんが、他の誰かがより良いアイデアを思いついた場合は幸いです.

編集: その間、私は小さなテストを書き、最初のアイデアがあまり良くないことがわかりました。

私の 2 番目のアイデアは、線をペインでラップし、そのペイン内の y 座標 (垂直線の場合) を中央に配置することでした。そのペインで、マウス ハンドラーを設定しました。そして、5 ピクセルの優先高さを持つペインを作成したので、マウス カーソルがその線をキャッチするのに十分な許容範囲ができました。

誰かがこのアイデアに興味を持っている場合は、小さなサンプル コードを投稿できます。

こんにちは、-クリス-

于 2013-04-08T09:50:30.293 に答える