GUI 组件喜欢JTextField
或JComboBox
具有我可以通过调用设置的名称属性setName(..)
。
组件名称可以包含每个字符吗?有没有定义组件名称语法的来源?
背景:为了让用户编写 FitNesse 测试,我考虑使组件属性与它们旁边的标签文本相同。但有些标签包含空格或符号,如连字符、点、逗号等。
GUI 组件喜欢JTextField
或JComboBox
具有我可以通过调用设置的名称属性setName(..)
。
组件名称可以包含每个字符吗?有没有定义组件名称语法的来源?
背景:为了让用户编写 FitNesse 测试,我考虑使组件属性与它们旁边的标签文本相同。但有些标签包含空格或符号,如连字符、点、逗号等。
据我所知,您可以使用任何字符串:http ://docs.oracle.com/javase/6/docs/api/java/awt/Component.html#setName%28java.lang.String%29
来自java源代码。组件名是一个String,据说可以为null。设置名称功能似乎也没有任何限制:
public void setName(String name) {
String oldName;
synchronized(getObjectLock()) {
oldName = this.name;
this.name = name;
nameExplicitlySet = true;
}
firePropertyChange("name", oldName, name);
}
根据这个问题,我认为你不应该使用这些功能。如果你也想使用,任何字符似乎都可以接受。至少 API 中没有关于禁止字符的内容。您可能只会在外观上遇到一些问题。