我有一個有幾個屏幕的嚮導,用戶必須填寫他/她的詳細信息以便進一步處理。在第二個屏幕上,我有一個帶有三個單選按鈕的收音機組,可以啓用其他元素。要繼續,用戶必須選擇其中之一。當用戶選擇第三個按鈕時,單選JTree
填入數據啓用,用戶必須從中選擇一個選項。然後用戶必須按「下一步」才能進入下一個屏幕。他選擇的選項存儲爲TreePath
。到現在爲止還挺好。如何讓JTree擴展?
我的問題如下。如果用戶想要從下面的屏幕回到JTree
的屏幕,我想爲他提供\ JTree
擴展到已選擇的選項,並突出顯示該選項。然而,無論我爲此嘗試做什麼(任何組合expandPath
,scrollPathToVisible
,addSelectionPath
,makeVisible
)都會爲我提供摺疊樹。我嘗試擴展葉子和節點。我的代碼如下所示:
rbProcessJTree.setSelected(isProcessJTree());
if (null != getSelectedTablePath()){
trTables.addSelectionPath(getSelectedTablePath());
trTables.expandPath(getSelectedTablePath());
trTables.scrollPathToVisible(getSelectedTablePath());
}
當setSelected()
被調用時,狀態變化監聽器被調用,使JTree
。該模型在表單初始化期間被加載。
每次在屏幕之間切換時,我都會保存前一屏幕的輸入數據並進行處理。然後,當我需要打開前一個屏幕時,我保存下列屏幕中的數據,將其處理,將數據加載到此屏幕並顯示它。所以每次屏幕從頭開始生成。
請問您能解釋一下,在新創建的表單中,如何獲得JTree
擴展的操作順序?請提供數據模型並提供選擇路徑?
你好Dzmitry Zhaleznichenka,是你能得到的回答你的問題?我面臨同樣的問題,我已經在這裏發佈
請指教。 – ShamsR 2011-06-06 13:42:23