Контекстное меню остается открытым, если затмение не в фокусе - PullRequest
0 голосов
/ 08 марта 2019

У меня есть проект, который является проектом плагина eclipse, и мое контекстное меню остается открытым, даже когда eclipse не находится в фокусе / свернут и свернут поверх всех окон, находящихся в фокусе. В этом примере я только что открыл Chrome.

Вот импортированный пакет javafx, который я использую: javafx.scene.control.ContextMenu;

Сначала я подумал, что смогу зафиксировать событие минимизации затмения, но понял, что это не сработает, поскольку не всегда пользователь минимизирует затмение, чтобы затмение было не в фокусе.

есть ли идеи о том, как закрыть / скрыть контекстное меню, если пользователь щелкает по затмению и в другое окно?

может я что-то не так открываю? или надо что то настраивать не я? он открывается просто с помощью contextMenu.show (); на узле дерева. Пожалуйста, дайте мне знать. Заранее спасибо.

Context Menu On top of chrome

Определение контекстного меню определяется следующим образом: enter image description here И находится в разделе класса моего Java-класса.

1 Ответ

0 голосов
/ 15 марта 2019

Мне удалось решить эту проблему следующим образом:

        tree.focusedProperty().addListener((v, oldValue, newValue) -> { 
            if(tree.isFocused() == false){
                hideAllCTXMenus();
            }
        });

По существу, если дерево не сфокусировано, закройте контекстные меню.Это в основном то, что contextMenu.setAutoHide (true);делает, но в моем случае это не работает по какой-то причине.Поэтому мне пришлось прибегнуть к этому самому.

...