Javafx: o applet javafx incorporado perde a largura e a altura?
-
16-09-2019 - |
Pergunta
Eu tenho um applet javafx com a altura e largura iniciais do palco definidas como tal:
var stage:Stage = Stage {
title: "Blah"
scene: Scene {
height: 768
width: 1024
fill: Color.WHITE
...
Além disso, tenho elementos dispostos na cena que estão ligados à altura e largura para fins de layout. Tudo funciona bem como um programa de desktop.
No entanto, quando o incorporei em uma página HTML como um applet usando o código a seguir, o applet é dimensionado corretamente, mas as propriedades de largura e altura da minha cena estão definidas como zero, mesmo que haja muito espaço.
<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>
Por exemplo, a expressão {stage.width.toString()}
avalia para 0.0
. O que está acontecendo? Como posso, dentro do código FX, obter a altura e a largura reais do applet?
Solução
Suspirar...
Eu consertei isso rapidamente ... aparentemente usando stage.width
funciona apenas no modo de desktop, enquanto stage.scene.width
Funciona para applets e aplicativos de desktop ... pelo menos no meu caso. Deixando isso aqui para futuros desenvolvedores de Javafx, abençoe seus corações.