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