JavaFX Fehler beim Ändern der font-weight

Tronert

Mitglied
Ich möchte, dass ein Label meiner GUI Fett gedruckt ist. Der Befehl, der dafür sorgen sollte, funktioniert zwar, gibt aber in der Konsole eine Fehlermeldung aus. Das gleiche mit dem Befehl für das zurücksetzten.
button.setStyle("-fx-font-weight: regular;"); Zurücksetzten
button.setStyle("-fx-font-weight: bold;"); Fett gedruckt
Fehlermeldung:
Okt 24, 2017 6:16:59 PM com.sun.javafx.css.parser.CSSParser declaration
WARNING: CSS Error parsing '*{-fx-font-weight: regular;}: Expected '<font-weight>' while parsing '-fx-font-weight' at [1,19]
Ich kenne mich nicht wirklich mit CSS aus, weshalb ich nicht weiß, ob das Problem auch anders gelöst werden kann.
PS: Ich bin neu auf diesem Forum und habe es deshalb auch nicht hinbekommen den Code auch als solchen einzufügen 😳
 
Hallo,

bei mir funktioniert es einwandfrei, ohne dass ein Fehler ausgeworfen wird. Kannst du es mal damit versuchen? Wird der Fehler bei dir dann immer noch ausgeworfen?
Java:
package labelTest;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class LabelTest extends Application {

  public static void main(String[] args) {
    Application.launch(args);
  }

  @Override
  public void start(final Stage stage) throws Exception {
    final Pane pane = new Pane();

    final Label label = new Label("Label");
    label.setLayoutX(100);
    label.setLayoutY(100);
    label.setStyle("-fx-font-weight: regular;"); // Zurücksetzen
    label.setStyle("-fx-font-weight: bold;");    // Fett gedruckt
    pane.getChildren().add(label);

    stage.setScene(new Scene(pane, 320, 230));
    stage.centerOnScreen();
    stage.show();
  }
}
 
Ich habe es damit ausprobiert und auch bei mir wurde kein Fehler angezeigt. Es sieht so aus, als ob das etwas mit dem Event zu tun hat, das ich benutzt habe. In deinem Code habe ich ein zum Testen einfach mal ein setOnMouseClick-Event hinzugefügt und da kam genau der Fehler, den ich auch in meinem Programm bekomme.
 
Wie hat du das hinzugefügt?
Wenn ich
Java:
label.setOnMouseClicked(new EventHandler<MouseEvent>() {
   @Override
   public void handle(MouseEvent event) {
     if (event.getClickCount()>1) {
       System.out.println("double clicked!");
     }
   }
});
verwende, kommt bei mir auch kein Fehler.
 
package application;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class Main extends Application {

public static void main(String[] args) {
Application.launch(args);
}

boolean x = true;

@Override
public void start(final Stage stage) throws Exception {
final Pane pane = new Pane();



final Label label = new Label("Label");
label.setLayoutX(100);
label.setLayoutY(100);
label.setOnMouseClicked(e->{
if(x){
label.setStyle("-fx-font-weight: regular;");
x = !x;
}else{
label.setStyle("-fx-font-weight: bold;");
x = !x;
}
});
label.setStyle("-fx-font-weight: regular;"); // Zurücksetzen
label.setStyle("-fx-font-weight: bold;"); // Fett gedruckt
pane.getChildren().add(label);

stage.setScene(new Scene(pane, 320, 230));
stage.centerOnScreen();
stage.show();
}
}

Die Funktionalität ist zwar gegeben aber der Fehler wird mir trotzdem angezeigt:

Nov 14, 2017 11:12:16 PM com.sun.javafx.css.parser.CSSParser declaration
WARNING: CSS Error parsing '*{-fx-font-weight: regular;}: Expected '<font-weight>' while parsing '-fx-font-weight' at [1,19]

Wäre es möglich kurz zu erklären wie ich ein Code-Beispiel, wie du es verwendet hast, einfüge? Ich finde einfach nicht heraus wie das funktioniert...
 

Zurück
Oben