Java 漂亮的图形用户界面布局

Java 漂亮的图形用户界面布局,java,jmonkeyengine,nifty-gui,Java,Jmonkeyengine,Nifty Gui,我不熟悉JME3游戏引擎,但我知道Android XML GUI布局相当不错。我有一个简单的布局在这里,我不能找出什么是错误的。以下是我的XML代码: <?xml version="1.0" encoding="UTF-8"?> <nifty xmlns="http://nifty-gui.sourceforge.net/nifty-1.3.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:

我不熟悉JME3游戏引擎,但我知道Android XML GUI布局相当不错。我有一个简单的布局在这里,我不能找出什么是错误的。以下是我的XML代码:

<?xml version="1.0" encoding="UTF-8"?>
<nifty xmlns="http://nifty-gui.sourceforge.net/nifty-1.3.xsd"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://nifty-gui.sourceforge.net/nifty-1.3.xsd
                       http://nifty-gui.sourceforge.net/nifty-1.3.xsd">

<useControls filename="nifty-default-controls.xml" />
<useStyles filename="nifty-default-styles.xml" />

<screen id="start" controller="com.jasoncrosby.game.farkle.gui.MenuScreenGui">
    <layer id="layer" backgroundColor="#66CD00" childLayout="center">
        <panel id="panel" align="center" valign="center" childLayout="center" visibleToMouse="true">
            <image filename="Textures/wood_floor.png" height="95%" width="95%"/>

            <panel id="panel" align="center" valign="center" childLayout="center" visibleToMouse="true">
                <text text="test" font="Interface/Fonts/Eraser.fnt"></text>
            </panel>
        </panel>
    </layer>
</screen>


在我开始显示文本之前,一切都很好。我尝试了不同的对齐方式,并尝试将文本移动到不同的面板中,但无论我做什么,文本都不会出现在屏幕中央。它总是在左上角,到目前为止,我只能看到文本的右下角。我确信这必须是一些简单的事情,但因为我是新手,所以我没有注意到任何事情。提前感谢您的帮助。

您可能正在使用一个旧的漂亮版本。id=“panel”的第一个面板使用childLayout=“center”,它有两个子元素(一个图像和另一个面板)。这在1.3.1之前的漂亮版本中不受支持

以下是一段引用自:

在Nifty 1.3.1中改进的另一件事是 childLayout=“center”现在在中支持多个子元素 1.3.1 childLayout=“center”之前的版本仅支持单个 子元素和奇怪的事情会发生在其他元素上 现在也得到了改进,childLayout=“center”支持更多 多个子元素

我已经用漂亮的1.3.2尝试了您的XML,文本位于屏幕中央


PS:与您的问题无关:对多个元素使用相同的id不是一个好主意(您有两个id为“panel”的面板)。不会发生什么不好的事情(除了日志中的警告),但是当您尝试执行findElementByName()时,可能会遇到一些意外的元素。

在@dardo上使用语法可能更好。
[gamedev.se]
在您的评论中获取链接,如中。适用于任何SE站点。也适用于ServerFault和SuperUser的
[sf]
[su]