2015-07-04 4 views
0

Я хотел бы отключить систему фокусировки в приложении JavaFX. Это означает, что нет фокуса, никакое управление не может получить фокус, поэтому у него никогда не будет соответствующего графического оформления и он никогда не получит события клавиатуры. Все события клавиатуры должны быть пойманы и обработаны корневым узлом (или этапом).Как полностью отключить систему фокусировки

Что мне следует продлить/переписать, чтобы отключить систему фокусировки?

+0

Чтобы избавиться от фокусных моментов, см [ответ good4em в] (http://stackoverflow.com/a/28032373/1155209) и установите эти значения в '.root' вашей таблицы стилей. – jewelsea

+0

А как насчет второго требования? – ayvango

+0

У меня нет никаких предложений для этого, поэтому я только дал комментарий, а не ответ. – jewelsea

ответ

0

Чтобы обработать все события клавиатуры в корневом узле, не

root.addEventFilter(KeyEvent.ANY, e -> { 
    // handle keyboard event... 
    e.consume(); 
}); 
+0

Похоже, взломать. Что-то вроде переопределения Scene.keyHandler и Scene.requestFocus кажется более сложным – ayvango

+0

Я не думаю об этом как о взломе; это именно то, как API предназначен для использования. –

Смежные вопросы