Вопрос

У меня есть апплет JavaFX с начальной высотой и шириной сцены, определенными следующим образом:

var stage:Stage = Stage {
    title: "Blah"
    scene: Scene {
        height: 768
        width: 1024
        fill: Color.WHITE
...

Кроме того, у меня есть элементы, расположенные на сцене, которые привязаны к высоте и ширине для целей макета.Все отлично работает как настольная программа.

Однако когда я встраиваю его в HTML-страницу в виде апплета с помощью следующего кода, размер апплета правильный, но свойства ширины и высоты моей сцены устанавливаются на НОЛЬ, хотя места достаточно.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Lol</title>
</head>
<body>
<h1>Lol</h1>
<script src="http://dl.javafx.com/1.2/dtfx.js"></script>
<div style="border:1px solid black">
<script>
    javafx(
        {
              archive: "Lol.jar",
              draggable: true,
              width: 1024,
              height: 768,
              code: "lol.Main",
              name: "Lol"
        }
    );
</script>
</div>
</body>
</html>

Например, выражение {stage.width.toString()} оценивается как 0.0.Что происходит?Как я могу внутри кода FX получить фактическую высоту и ширину апплета?

Это было полезно?

Решение

Вздох...

Я это быстро исправил...очевидно, используя stage.width работает только в режиме рабочего стола, тогда как stage.scene.width работает как для апплетов, так и для настольных приложений...по крайней мере в моем случае.Оставив это здесь для будущих разработчиков JavaFX, благослови их сердца.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top