JavaFX fxml的有效字符是什么;外汇:id“;属性

JavaFX fxml的有效字符是什么;外汇:id“;属性,javafx,javafx-8,fxml,Javafx,Javafx 8,Fxml,这有文件记录吗?它是标准的XML指南吗 我能够在SceneBuilder中分配fx:id=“table$abc”,但“table>abc”出现错误。在FXMLLoader的源代码中,有一个方法processAttribute(…)用于“uumh”进程属性,如fx:id,fx:controller等。验证fx:id的代码是: if ( localName.equals( FX_ID_ATTRIBUTE ) ) { // Verify that ID is a valid identifie

这有文件记录吗?它是标准的XML指南吗


我能够在SceneBuilder中分配fx:id=“table$abc”,但“table>abc”出现错误。

在FXMLLoader的源代码中,有一个方法
processAttribute(…)
用于“uumh”进程属性,如
fx:id
fx:controller
等。验证fx:id的代码是:

if ( localName.equals( FX_ID_ATTRIBUTE ) )
{
    // Verify that ID is a valid identifier
    if ( value.equals( NULL_KEYWORD ) )
    {
        throw constructLoadException( "Invalid identifier." );
    }

    for ( int i = 0, n = value.length(); i < n; i++ )
    {
        if ( !Character.isJavaIdentifierPart( value.charAt( i ) ) )
        {
            throw constructLoadException( "Invalid identifier." );
        }
    }

    fx_id = value;
}
因此,使用
字符将抛出
LoadException
,而
$
则不会


可能没有有效的fx:id名称的文档,但至少阅读的javadoc会给您一些见解。

在fxmloader的源代码中,有一个方法
processAttribute(…)
用于“uumh”进程属性,如
fx:id
fx:controller
等。验证fx:id的代码是:

if ( localName.equals( FX_ID_ATTRIBUTE ) )
{
    // Verify that ID is a valid identifier
    if ( value.equals( NULL_KEYWORD ) )
    {
        throw constructLoadException( "Invalid identifier." );
    }

    for ( int i = 0, n = value.length(); i < n; i++ )
    {
        if ( !Character.isJavaIdentifierPart( value.charAt( i ) ) )
        {
            throw constructLoadException( "Invalid identifier." );
        }
    }

    fx_id = value;
}
因此,使用
字符将抛出
LoadException
,而
$
则不会


可能没有关于有效的fx:id名称的文档,但至少阅读的javadoc会给您一些见解。

而且,由于必须使用@FXML注释将其映射到Java字段,如果您仔细考虑的话,这是有意义的。由于必须使用@FXML注释将其映射到Java字段,这是有意义的,如果你仔细想想。