簡介
現在,市場是緊縮的??蚣芸梢怨澥≡O計和開發階段的時間。IDE可以使得我們更輕易的開發用戶接口。標準的GUI應用程序用不同的面板布局來定義GUI,已成為一種根本的模式而存在?;谶@個模式,考慮使用框架來提高執行速度,達到更高的并行處理程度,協調更寬松的開發方式。我們在這里就要用java SWING應用程序來描敘這么一個框架。
簡單的應用程序-圖書館治理系統
我們下面來討論一個簡單的圖書館治理系統,用來理解基于xml的GUI框架。
上面的流程圖定義了圖書館用戶接口的設計。主目錄,會員登錄,用戶注冊和書籍檢索,這些都是應用
程序中存在的面板(panel)。從流程圖可以看出,在應用程序中可能的處理路徑有下面幾種:
主目錄->用戶注冊->書籍檢索
主目錄->會員登錄->書籍檢索
原則
任何時候顯示的面板依靠于先前面板的輸出內容。因此,需要設計一個普通的控制器作為整個框架的窗體(form),它提供面板用來做必要的輸入,并處理面板中期待返回的輸出內容。這些面板都實現了XSFPanel接口,該接口中有個execute()方法用來將表單中的輸入內容存入一個HashMap中,并從另一個HashMap返回輸出內容。該框架的控制器處理使用HashMap返回的輸出內容,并隨時判定應該顯示哪個面板。
public interface XSFPanel extends JPanel
{
public HashMap execute(HashMap inputs);
. . .
}
控制器和XML流定義
流控制器和一個簡單的定義著用戶接口的XML相關聯。這個XML必須基于每個面板輸入的內容和料想會輸出的內容而定義。我們這里討論的這個簡單的程序是基于下面的XML工作的。
<XFSFramework>
<XFSPanels>
<XFSPanel name="Home" class="library.Home">
<inputs/>
<outputs>
<output variable="userOption"/>
</outputs>
</XFSPanel>
<XFSPanel name="MemberLogin" class="library.MemberLogin">
<inputs/>
<outputs>
<output variable="userName"/>
<output variable="passWord"/>
</outputs>
</XFSPanel>
<XFSPanel name="Registration" class="library.UserRegistration">
<inputs/>
<outputs>
<output variable="userName"/>
<output variable="password"/>
<output variable="emailId"/>
<output variable="address"/>
</outputs>
</XFSPanel>
新聞熱點
疑難解答