下一代的B/S開發框架--Echo 教程(4) (轉)
下一代的B/S開發--Echo 教程(4)
視窗的實現
熟悉的人都知道, 瀏覽器上很難實現模式視窗, 就是那種一直在最上面的子視窗並且能禁止對父視窗的操作. 在B/S中碰到這種問題一般都會返回一個新頁面, 然後用連結回到原來的頁面. 有時候新視窗中的資訊很少, 不得不想辦法來裝飾它. 我們看看用Echo怎麼做:
import nextapp.echo.*; import nextapp.echo.event.*; /** * 模式視窗 */ public class CommonWindow extends Window implements WindowListener { protected Window parent; //父視窗 public CommonWindow(Window parent, boolean modal){ this.parent = parent; if (modal && parent!=null) parent.setVisible(false); } public CommonWindow(){} protected void init(){ setDefaultCloseOperation(Window.DISPOSE_ON_CLOSE); addWindowListener(this); } //視窗被dispose()時 public void windowClosed(WindowEvent e) { if (parent!=null){ parent.setVisible(false); //啟用父視窗 parent.setVisible(true); } } public void windowClosing(WindowEvent e) {} public void windowOpened(WindowEvent e) {} }
來看看上面的程式碼:
- 父視窗在構造中就被隱藏
- 子視窗自己被銷燬的事件, 在被銷燬後啟用父視窗
- 如果視窗已經開啟, 僅僅對視窗setVisable(true)並不能使其可見, 所以先隱藏再開啟.
其它視窗一般擴充套件CommonWindow, 可以輕鬆實現小巧的alert/confirm視窗.
注意: EchoPoint裡面提供了一種基於層的模式視窗:DialogPanel. IE對層的支援比較差, 僅供參考.
作為其它視窗的父類, 一般還要在裡面設定視窗的預設字型/顏色/佈局, 以後只要調整CommonWindow就可以統一調整網站風格.
因為經常對視窗中所有按鈕用同一個事件監聽器, 所以CommonWindow中還增加這樣一個投機取巧的方法:
/** * 對下的所有按鈕增加相同的動作監聽器, 忽略checkbox和radioBox */ public static void addAllButtonListener(Component component,ActionListener listener){ Component[] all = component.getComponents(); for (int i = 0; i < all.length; i++) { if (all[i] instanceof AbstractButton && !(all[i] instanceof ToggleButton)) ( (AbstractButton) all[i]).addActionListener(listener); if (all[i] instanceof Component) addAllButtonListener(all[i],listener); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992389/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 下一代的B/S開發框架--Echo 教程(6) (轉)框架
- 下一代的B/S開發框架--Echo 教程(5) (轉)框架
- 下一代的B/S開發框架--Echo 教程(7) (轉)框架
- 下一代的B/S開發框架--Echo 教程(8) (轉)框架
- 下一代的B/S開發框架--Echo 教程(2) (轉)框架
- 下一代的B/S開發框架--Echo 教程(3) (轉)框架
- 最新的B/S開發技術 (轉)
- Xamarin圖表開發基礎教程(4)OxyPlot框架框架
- 系統開發中的B/S架構架構
- B/S開發常用JavaScript技術JavaScript
- Web經典B/S快速開發框架,強大後臺+簡潔UI一體化開發工具Web框架UI
- Phoenix - 基於Elixir的下一代Web開發框架Web框架
- C/S框架網介紹|.NET快速開發平臺|Winform開發框架框架ORM
- 在b/s開發中經常用到的javaScript技術JavaScript
- Hardhat 開發框架 - Solidity開發教程連載框架Solid
- 下一代基於Koa的NodeJS全棧開發框架NodeJS全棧框架
- 重視B/S架構系統的發展和開發設計理念架構
- Web開發教程4-掌握MavenWebMaven
- Echo指南(一) (轉)
- B/S與C/S的區別
- C/S和B/S
- B/S模式安全性探討 (轉)模式
- 最火的前端開發框架Bootstrap使用教程學習!前端框架boot
- S2B2C社交電商系統怎麼開發?
- 微信小程式開發教程(第4彈)微信小程式
- ECshop 二次開發模板教程4
- NotaddBeta2fix1,基於Laravel的下一代PHP開發框架LaravelPHP框架
- 搭建雲端計算開發框架(轉)框架
- C/S系統快速開發框架(C#+Winform+SQL)框架C#ORMSQL
- Android開發之道(4)程式框架基礎Android框架
- echo二次開發 ecshop 函式列表函式
- C/S,B/S的應用的區別
- Notadd Beta3 釋出 (基於 Laravel 的下一代 PHP 開發框架)LaravelPHP框架
- 用Java也能象Access一樣快速開發B/S應用?!Java
- 軟體開發之3S方法(轉)
- Koa框架教程,Koa框架開發指南,Koa框架中文使用手冊,Koa框架中文文件框架
- Xamarin圖表開發基礎教程(9)OxyPlot框架框架
- Xamarin圖表開發基礎教程(8)OxyPlot框架框架