我有一个JavaFX小程序,其初始高度和宽度定义如下:
var stage:Stage = Stage {
title: "Blah"
scene: Scene {
height: 768
width: 1024
fill: Color.WHITE
...
此外,我在场景中布置了元素,这些元素绑定到高度和宽度以进行布局。一切都可以作为桌面程序使用。
但是,当我使用以下代码将其作为applet嵌入到HTML页面中时,applet的大小正确,但即使有足够的空间,我的场景的width和height属性也会设置为ZERO。
<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代码中获取applet的实际高度和宽度?
答案 0 :(得分:4)
<强>唉... 强>
我快速解决了这个问题...显然使用stage.width
只能在桌面模式下工作,而stage.scene.width
适用于applet和桌面应用......至少在我的情况下如此。将此留给未来的JavaFX开发人员,祝福他们的心。