2

問題 : javafx.scene.control 要素でのみ機能する addContextMenu(menu) を使用して ContextMenu を Canvas または Pane 要素に単純に「追加」することはできません (Canvas または Panel はこのクラスを拡張しません)。

質問 : ContextMenu 項目を Canvas 要素に「登録」する「クリーンな」方法はありますか? このメニューの標準的な動作を期待しています (Canvas 要素を RMB でクリックした後に表示する、LMB でクリックすると自動的に非表示になるなど)。

4

3 に答える 3

4
Canvas canvas = ... ;
ContextMenu menu = ... ;

canvas.setOnContextMenuRequested(e -> menu.show(canvas, e.getScreenX(), e.getScreenY()));
于 2016-05-03T19:19:44.367 に答える
-1

たぶん、Chrome 拡張機能の contextMenu を使用できます。ここに公式文書があります。

これまでのところ唯一の問題は、キャンバスの Context タイプが明確でないことです。["all"] は機能しますが、良い方法ではありません。

于 2016-08-11T04:50:06.463 に答える