Percebi que definir um estilo de fonte personalizado em um TextField no JavaFX também afetará seu menu de contexto padrão. O que posso fazer para alterar a fonte da entrada do usuário, mas manter os itens de menu no menu de contexto como eles apareceriam normalmente?
.custom-text-field {
-fx-alignment: center;
-fx-font-size: 2.5em;
-fx-font-weight: bold;
-fx-font-family: monospaced;
}
Estou procurando uma solução no estilo CSS , não quero alterar a fonte no código Java.
A documentação do componente TextField tem sido de pouca utilidade.
Infelizmente , verificar o estilo CSS padrão também não me ajudou caspian.css
muito.
O motivo pelo qual isso acontece é que o menu de contexto é um descendente (direto) de seu controle (veja a documentação para
ContextMenu
), e o valor padrão para uma fonte éinherit
, então, por padrão, o menu de contexto herdará a fonte do controle ao qual está anexado.Uma maneira é redefinir especificamente o estilo do menu de contexto:
Se você quiser aplicar "globalmente" a regra "não herdar fontes do menu de contexto de seu controle", a seguinte regra CSS mais geral fará isso:
(Isso remove o
inherit
valor da fonte do menu de contexto.)