前言 :
學習完提示框與進度條, 對 ExtJS 組件的配置及使用就有一定的認識, 接下來會學到更豐富的工具欄阻件 (Toolbar) 和菜單欄 (Menu). 這兩個組件並不陌生, 在標準桌面應用程序都會提供, 它們經常給用戶提供一種快速執行操作的便捷方式方便用戶使用.
認識 Ext.Toolbar :
Ext.Toolbar 是工具欄的基礎組件, 它相當於容器, 在其中可以放置各種工具欄元素, 其中主要包括按鈕, 文字與菜單組件. 在開始編寫範例前先來了解一下 Ext.Toolbar 組件的主要配置項與常用方法, 如下表所示 :
表 3-7 中列出了 Ext.Toolbar 支持的各種工具欄常見的方法, 熟悉這些方法可以創建功能非常強大的工具欄 :
只包含按鈕的簡單工具欄 :
典型的工作欄是由一組實現不同功能的按鈕組成, 作為一個範例將創建一個類似文本編輯中的工具欄, 它將包含新建, 打開和保存 3 個按鈕, 在範例中將使用上表 3-7 介紹的 addButton() 方法, 下面是關於 addButton() 方法的說明.
調用格式 :
參數說明 :
返回值 :
範例代碼 :
執行結果 :
包含多種元素的複雜工具欄 :
為了展示多種元素加入工具欄之後的顯示效果, 在下個例子中創建的工具欄也許並不美觀實用, 但它能夠很好的說明不同元素在工具欄上顯示效果. 1. 調用不同方法加入不同元素 在上一個例子使用 addButton() 方法向工具欄添加按鈕元素, 除此方法外還有許多其他方法可以像工具欄添加元素. 例如 addFill() 方法可以向工具欄添加一個充滿工具欄的空白元素, addText() 可以向工具欄添加一個簡單字符串等. 在下面代碼說明上述方法使用 :
底下為執行結果 :
2. 調用一次加入多個不同元素 第一個方法雖然達到添加不同元素到工具欄的目的, 但是需要調用多個不同方法較為繁瑣. 其實 ExtJS 提供更簡潔的調用方法 add(). 它可以將多個不同元素一次性的添加到工具欄中. 下面是該方法的使用範例.
調用格式 :
參數說明 :
返回值 :
範例代碼 :
執行結果 :
認識 Ext.menu.Menu 菜單 :
在菜單組件 Ext.menu.Menu 中可以配置多個菜單項. 另外菜單組件也可以作為一個基類, 在它的基礎上定義一些專用的菜單, 例如 ExtJS 提供的 Ext.menu.DateMenu 菜單. 把菜單欄與前面介紹的工具欄組件組合起來, 就可以創建非常有實用價值的用戶介面. 接下來從定義最簡單的菜單開始, 逐步建構一個功能豐富的菜單欄. 在開始編寫範例之前先來了解 Ext.menu.Menu 組件的主要配置項及常用方法, 這些內容被分佈到三個表中, 其中表 3-9 包含了 Ext.menu.Menu 組件的主要配置項, 表 3-10 包含了菜單的主要類型, 表 3-11 包含了菜單的常用方法 :
最簡單菜單欄 :
作為標寫第一個菜單欄, 它以熟悉的文本編輯軟件菜單欄作為原型, 主要分為文件菜單和編輯菜單, 在文件下拉菜單中有3個菜單項, 分別是 New, Open 和 Close. 在編輯菜單也有 3 個菜單項, 分別是 Copy, Paste 與 Cut. 底下為範例代碼 :
執行結果 :
創建二級或多級菜單 :
只要分別創建菜單和工具欄, 然後將菜單加入工具欄就實現兩者組合使用, 接下來多級菜單有以上概念與基礎, 理解與配置也是非常容易的. 範例代碼如下 :
執行結果 :
在上面代碼中使用了 Ext.menu.DateMenu 日期選擇類. 類似的 ExtJS 還提供 Ext.menu.ColorMenu 顏色選擇菜單, 都擴展自 Ext.menu.Menu, 是以 Ext.menu.Menu 作為基類自定義菜單的一個範例.
使用適佩器 (Ext.menu.Adapter) : Ext.menu.Adapter 是菜單組件的工具類, 它的作用是將非菜單組件包裝成一個菜單項, 就像在前面接觸到的 Ext.menu.ColorItem 和 Ext.menu.DateItem, 它們分別是經過包裝的Ext.ColorPalette 組件與 Ext.DatePicker 組件. 透過下面範例可以知道如何包裝其他組件與實現一些特殊效果 :
執行結果 :
具有選擇框的菜單 :
最後再來看一個具有選擇框的菜單範例, 在這個範例中包括了複選框與單選框兩種. 範例代碼如下 :
執行結果如下 :
This is a blog to track what I had learned and share knowledge with all who can take advantage of them
標籤
- [ 英文學習 ]
- [ 計算機概論 ]
- [ 深入雲計算 ]
- [ 雜七雜八 ]
- [ Algorithm in Java ]
- [ Data Structures with Java ]
- [ IR Class ]
- [ Java 文章收集 ]
- [ Java 代碼範本 ]
- [ Java 套件 ]
- [ JVM 應用 ]
- [ LFD Note ]
- [ MangoDB ]
- [ Math CC ]
- [ MongoDB ]
- [ MySQL 小學堂 ]
- [ Python 考題 ]
- [ Python 常見問題 ]
- [ Python 範例代碼 ]
- [心得扎記]
- [網路教學]
- [C 常見考題]
- [C 範例代碼]
- [C/C++ 範例代碼]
- [Intro Alg]
- [Java 代碼範本]
- [Java 套件]
- [Linux 小技巧]
- [Linux 小學堂]
- [Linux 命令]
- [ML In Action]
- [ML]
- [MLP]
- [Postgres]
- [Python 學習筆記]
- [Quick Python]
- [Software Engineering]
- [The python tutorial]
- 工具收集
- 設計模式
- 資料結構
- ActiveMQ In Action
- AI
- Algorithm
- Android
- Ansible
- AWS
- Big Data 研究
- C/C++
- C++
- CCDH
- CI/CD
- Coursera
- Database
- DB
- Design Pattern
- Device Driver Programming
- Docker
- Docker 工具
- Docker Practice
- Eclipse
- English Writing
- ExtJS 3.x
- FP
- Fraud Prevention
- FreeBSD
- GCC
- Git
- Git Pro
- GNU
- Golang
- Gradle
- Groovy
- Hadoop
- Hadoop. Hadoop Ecosystem
- Java
- Java Framework
- Java UI
- JavaIDE
- JavaScript
- Jenkins
- JFreeChart
- Kaggle
- Kali/Metasploit
- Keras
- KVM
- Learn Spark
- LeetCode
- Linux
- Lucene
- Math
- ML
- ML Udemy
- Mockito
- MPI
- Nachos
- Network
- NLP
- node js
- OO
- OpenCL
- OpenMP
- OSC
- OSGi
- Pandas
- Perl
- PostgreSQL
- Py DS
- Python
- Python 自製工具
- Python Std Library
- Python tools
- QEMU
- R
- Real Python
- RIA
- RTC
- Ruby
- Ruby Packages
- Scala
- ScalaIA
- SQLAlchemy
- TensorFlow
- Tools
- UML
- Unix
- Verilog
- Vmware
- Windows 技巧
- wxPython
訂閱:
張貼留言 (Atom)
[Git 常見問題] error: The following untracked working tree files would be overwritten by merge
Source From Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 # git clean -d -fx 方案2: 今天在服务器上 gi...
-
前言 : 為什麼程序管理這麼重要呢?這是因為: * 首先,本章一開始就談到的,我們在操作系統時的各項工作其實都是經過某個 PID 來達成的 (包括你的 bash 環境), 因此,能不能進行某項工作,就與該程序的權限有關了。 * 再來,如果您的 Linux 系統是個...
-
屬性 : 系統相關 - 檔案與目錄 語法 : du [參數] [檔案] 參數 | 功能 -a | 顯示目錄中個別檔案的大小 -b | 以bytes為單位顯示 -c | 顯示個別檔案大小與總和 -D | 顯示符號鏈結的來源檔大小 -h | Hum...
-
來源自 這裡 說明 : split 是 Perl 中非常有用的函式之一,它可以將一個字串分割並將之置於陣列中。若無特別的指定,該函式亦使用 RE 與 $_ 變數 語法 : * split /PATTERN/,EXPR,LIMIT * split /...
沒有留言:
張貼留言