2009-07-03 32 views
2

我有一個應用程序,我正在尋找使Enter鍵像Tab鍵一樣行事。我可以輕鬆捕獲按鍵事件並將setFocus設置爲textinput字段。問題是搞清楚哪個textinput字段給予焦點。我有這樣的代碼Flex 3 focusManager.getNextFocusManagerComponent()返回null


trace(this.window.focusManager); 
//returns TheWindow86.focusManager 

trace(this.window.focusManager.getNextFocusManagerComponent()); 
//returns null 

//This is what I was hoping would work 
this.window.focusManager.getNextFocusManagerComponent().setFocus(); 

的代碼是在控制器級和「this.window」引用NativeWindow中MXML文件「TheWindow.mxml」的一個實例。第一條跟蹤按預期工作,但第二條跟蹤爲空。最後一行是我想要工作的代碼。

+0

你的「窗口」裏面有什麼?有沒有可調焦的控件? – 2009-08-03 20:48:35

+0

它有一個很好的20 - 30個文本框和按鈕。我甚至從文本框按鍵事件調用該函數。 – respectTheCode 2009-08-04 11:40:18

回答

0

你可以嘗試用:

this.window.focusManager.setFocus(this.window.focusManager.getNextFocusManagerComponent()); 

希望工程......如果不是讓我知道,我會嘗試在Flex Builder!

+0

與以前一樣的錯誤。 TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 – respectTheCode 2009-07-20 15:57:03

0

focusManager.moveFocus(FocusRequestDirection.FORWARD);

嘗試一下;

+0

那是我沒有嘗試過的一個。儘管如此,仍然得到同樣的錯誤 TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 – respectTheCode 2009-07-20 15:56:31

0

我有同樣的問題。很明顯, - this.window.focusManager.getNextFocusManagerComponent()。setFocus(); - 給你錯誤,因爲 - this.window.focusManager.getNextFocusManagerComponent() - 返回null。

我不明白爲什麼focusManager不知道接下來會出現什麼組件...有問題。

0
focusManager.moveFocus(mx.events.FocusRequestDirection.FORWARD); 

效果很好,如果是的FocusManager mx.core.Application實例

0

的屬性這似乎是一個錯誤。我觀察到它發生在設置了defaultButtons的窗體周圍。