カスタムノードをドラッグしようとしています。これらのノードは、ルートFXMLのコントローラで定義されているように、AnchorPaneに子として追加されます。JavaFxは、ノードまたはメインのFXMLコントローラからノードをドラッグすることを処理しますか?
package sample;
import ...
public class Controller {
@FXML
AnchorPane anchorPane;
public void add() {
try {
// Node.fxml is the custom node object
Parent root = FXMLLoader.load(getClass().getResource("Node.fxml"));
anchorPane.getChildren().add(root);
} catch (IOException e) {
e.printStackTrace();
}
}
}
は、私は私のノードがルートFXMLコントローラ内またはドラッグ可能ノード自体のFXMLコントローラ内のドラッグ扱うべきでしょうか?
ルートFXMLコントローラ内で実行する必要がある場合は、どうすればよいですか? FXMLLoader.Load()を呼び出すと、FXMLファイルを参照するだけで、マウスイベントをアタッチできなくなります。
私はJavaとJavaFxの新機能ですから、何かが役に立ちます。 (ただし、プログラミングの初心者ではありません)。
ありがとうございます。
を 'FXMLLoader.load()' 'Node'を返します。なぜあなたはそれにイベントハンドラを添付できませんか? – fabian
@fabianはここに何かあると思います。関連するドラッグイベントリスナーをノードに引数として取り込むメソッドを作成します。私はそれが滑らかな解決策かもしれないと思う。 – Gikkman
@fabianああ、私はそれを認識していない!私はドキュメントをチェックしたが、ParentがNodeを拡張していることに気付かなかった。ありがとうございました! – user3668541