JavaFX:Встроенный апплет JavaFX теряет ширину и высоту?
-
16-09-2019 - |
Вопрос
У меня есть апплет 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, благослови их сердца.