On Tue, 16 Dec 2025 22:21:52 GMT, Michael Strauß <[email protected]> wrote:
>> Implementation of [viewport characteristics media >> features](https://www.w3.org/TR/mediaqueries-5/#mf-viewport-characteristics): >> * `width` >> * `height` >> * `aspect-ratio`: width / height >> * `orientation`: `portrait`, `landscape` >> * `display-mode`: `fullscreen`, `standalone` (note: `browser` and >> `minimal-ui` are not supported in JavaFX) >> >> Here's a small example how the new media features can be used: >> >> @Override >> public void start(Stage stage) { >> var button = new Button("Toggle full-screen"); >> button.setOnAction(_ -> stage.setFullScreen(!stage.isFullScreen())); >> var label = new Label(); >> var root = new BorderPane(button, null, null, label, null); >> var scene = new Scene(root, 650, 200); >> BorderPane.setAlignment(label, Pos.CENTER); >> label.textProperty().bind(scene.widthProperty().map(v -> >> String.format("Width: %.2f", v.doubleValue()))); >> scene.getStylesheets().add("data:text/css;base64," + >> Base64.getEncoder().encodeToString(""" >> @media (max-width: 500) { >> .button { >> -fx-background-color: red; >> } >> } >> >> @media (600 < width <= 700) { >> .button { >> -fx-background-color: green; >> } >> } >> >> @media (min-width: 800) { >> .button { >> -fx-background-color: yellow; >> } >> } >> >> @media (display-mode: fullscreen) { >> .button { >> -fx-background-color: black !important; >> } >> } >> """.getBytes(StandardCharsets.UTF_8))); >> >> stage.initStyle(StageStyle.DECORATED); >> stage.setScene(scene); >> stage.show(); >> } > > Michael Strauß has updated the pull request incrementally with one additional > commit since the last revision: > > if parser exception is thrown, include verbatim user value in the message, > not lower-cased version for other reviewers: I've updated the monkey tester's CSS Playground to apply the stylesheets to the newly created windows. ------------- PR Comment: https://git.openjdk.org/jfx/pull/1844#issuecomment-3662715971
