2017-05-25 2 views
0

Zunächst möchte ich mich entschuldigen, dass ich keinen Code einschließe. Ich habe versucht, dieses Problem mit einem kleineren Projekt zu reproduzieren, war aber nicht erfolgreich. Das Thema selbst ist ebenfalls sporadisch, so dass es schwierig ist, den Schuldigen festzunageln.JavaFX - Etikettenformat ändert sich spontan

Grundsätzlich, was passiert: Ich habe meine Benutzeroberfläche in FXML definiert und es enthält mehrere Beschriftungen überall, von denen ich einige der Schriftart auf "Fett" gesetzt haben.

<Label text="Appetite Info:"> 
    <font> 
     <Font name="System Bold" size="12.0"/> 
    </font> 
</Label> 

Das Problem ist, dass, wie der Benutzer klickt um die UI, alle diese Etiketten werden zurückgesetzt auf „Normal“ Schriftstärke. Manchmal gibt es den Fokus auf ein Textfeld oder einen Bildlaufbereich, manchmal passiert es nur, wenn das Hauptfenster der Benutzeroberfläche den Fokus verliert.

habe ich die Anwendung mit CSS gestylt, aber dies geschieht auch mit einem Default.css, die keine Formatierungen enthebt:

.root { 

} 

Hat jemand anderes dieses Verhalten bemerkt oder weiß, wo ich nach einer Lösung suchen sollte ?

+0

Wo setzen Sie Ihre Beschriftungen fett? Verwenden Sie die 'setStyle()' Methode? Bitte geben Sie die FXML- und CSS-Zeilen an, die sich auf Ihre fett gedruckten Labels beziehen. –

+0

Ich habe spontane Stiländerungen in JavaFX schon vorher gesehen, aber leider konnte ich die Ursache nie genau lokalisieren oder eingrenzen, um einen Fehler zu melden. Dinge, die ich gesehen habe, sind Steuerelemente, die plötzlich den "deaktivierten" Stil verwenden, während sie noch aktiviert und funktionsfähig sind, und einige Glyphen zu Quadraten zurückkehren, während andere Instanzen derselben Glyphen in derselben Szene immer noch korrekt angezeigt werden. – Itai

+0

Ich habe die Frage bearbeitet, um die Code-Schnipsel in Frage zu stellen, @SergeyGrinev – Zephyr

Antwort

0

Ich werde dies als beantwortet markieren. Das Formatieren all meiner Knoten mit CSS anstelle der FXML-Markup löst dieses Problem.