I've found a pretty serious issue with CheckBox labels on Windows DPI levels other than 100% or 200%. Apparently the label mismeasures itself during layout, so its text is cut off with an ellipsis.

I've attached a simple program to reproduce this. Running with -Dglass.win.uiScale=100%, 125%, 150%, 175%, 200% cuts off all CheckBox labels on any DPI scale between 100% and 200%. My environment is Java SE 9.0.4 on Windows 10 Creators Update.

The only workaround I found was to set an explicit minimum width for the CheckBox. In that case the incorrect self-measurement of the label text is ignored and the full text displayed.

Best regards,
Christoph Nahr


----- Test Program -----

import javafx.application.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.*;

public class CheckBoxLabel extends Application {

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

    @Override
    public void start(Stage stage) {
        final HBox box = new HBox();
        for (int i = 0; i < 4; i++)
            box.getChildren().add(new CheckBox("Check"));

        stage.setScene(new Scene(box));
        stage.show();
    }
}

Reply via email to