2012-05-08 29 views
0

JTextFieldJComboBox這樣的GUI組件具有可以通過調用setName(..)來設置的名稱屬性。Java GUI組件名稱的語法?

組件名是否包含每個字符?是否有任何定義組件名稱語法的源代碼?

背景:爲了讓用戶編寫FitNesse測試,我考慮使組件屬性與它們旁邊標籤的文本相同。但一些標籤包含空格或符號,例如連字符,句點,逗號等

回答

1

據我所知,你可以使用任何字符串:http://docs.oracle.com/javase/6/docs/api/java/awt/Component.html#setName%28java.lang.String%29

從Java源代碼。組件名稱是一個字符串,據說它可以爲空。設置名稱功能似乎並不具有任何限制或者:

public void setName(String name) { 
    String oldName; 
    synchronized(getObjectLock()) { 
     oldName = this.name; 
     this.name = name; 
     nameExplicitlySet = true; 
    } 
    firePropertyChange("name", oldName, name); 
} 
0

根據這一question,我覺得你不應該使用這些功能。如果你想使用它,任何角色都可以接受。至少在API中沒有關於禁止字符的內容。您的外觀可能只會遇到一些問題。