轉自:http://www.oracle.com/technetwork/cn/articles/adf/jdeveloper-interface-area-features-1620640-zhs.html
作者:徐晉
打開 JDeveloper 後,其主界面顯示如下所示,在同一個 IDE 中可以開發各類應用而無需安裝額外插件:

圖表 1 JDeveloper 開發界面在 1024x768 分辨率下
Application Navigator 是一個樹狀層級結構的浏覽器窗體。它用層級結構來表示開發建構之間的父子關系,如圖所示:
該窗體被分為四個可以折疊/打開的區域:Projects Panel,Application Resource Panel,Data Controls Panel,Recently Opened Files Panel。
Project 分頁使用者可以在 Project Panel 中建立、浏覽、編輯應用和項目檔案。
-
- Application(應用)是浏覽樹的根節點,可以通過頂部的下拉框來選擇不同的應用工作空間(Application Workspace) 使用者也可以單擊右側按鈕來關閉一個應用,如下圖所示:
JDeveloper 界面主要區域及功能介紹 JDeveloper 界面主要區域及功能介紹
- Application(應用)是浏覽樹的根節點,可以通過頂部的下拉框來選擇不同的應用工作空間(Application Workspace)
-
- Project (項目)是 Application 的子節點,通常一個 Application 可以有多個 Project。對于 Fusion Web Application,通常會有兩個 Project。一個為 Model 用于組織業務服務相關的代碼群組件(如資料庫定義,ORM 實作),另一個為 ViewController 用于開發和定義 MVC 相關的代碼(如頁面, ADF TaskFlow,HTML/CSS/JS 等)
- 項目工具條,如下圖所示,提供了快捷按鈕用于浏覽項目屬性(Project Properties),重新整理項目檔案樹,設定項目檔案顯示的過濾條件以及顯示的選項(比如 java package 獨立為節點顯示的 Level 等)
JDeveloper 界面主要區域及功能介紹
- 項目工具條,如下圖所示,提供了快捷按鈕用于浏覽項目屬性(Project Properties),重新整理項目檔案樹,設定項目檔案顯示的過濾條件以及顯示的選項(比如 java package 獨立為節點顯示的 Level 等)
- Project (項目)是 Application 的子節點,通常一個 Application 可以有多個 Project。對于 Fusion Web Application,通常會有兩個 Project。一個為 Model 用于組織業務服務相關的代碼群組件(如資料庫定義,ORM 實作),另一個為 ViewController 用于開發和定義 MVC 相關的代碼(如頁面, ADF TaskFlow,HTML/CSS/JS 等)
Application Resource 分頁 提供了對應用相關的連接配接的定義以及應用相關配置檔案的管理。 “Connection”節點可以管理,和目前應用所管理的連接配接,比如資料庫連接配接。在該窗體中可以檢視資料庫的各類對象的定義并浏覽資料或執行SQL查詢。“Descriptor”節點包含了和目前應用所相關的設定檔案,如adf-config.xml 用于設定ADF架構的中繼資料服務(MDS)或架構相關的全局設定選項。該節點中也包含了部署描述符如 weblogic-application.xml。開發人員可以在該 panel 右鍵添加新的檔案。
Data Controls 分頁 該 Panel 中顯示了目前應用可使用的所有 Data Control。 開發人員可以将在該區域中顯示的 Data Control 拖放到頁面中或一個TaskFlow中來自動生成頁面和資料控件之間的綁定(具體實作在 Data Binding 相關章節中介紹)。在下圖所示例子中,DepartmentView1 是一個 ADF ViewObject 查詢結果集合對象,可以将其拖放到頁面上展現為一個 af:table 元件,以表格的形式展現該集合的資料。右圖中,還可以看到該 ViewObject 還有 Operations 元素,可以拖放到頁面上作為一個 UI Button,并定義該 Button 在使用者按下後會執行該 Operation。
-
- Recently Open Files Panel 該 Panel 中清單顯示最近編輯的檔案。
結構窗格(Structure Window)是一個自動打開的在螢幕左下角的視窗。 該視窗以樹結構展現了目前編輯的檔案的結構。如下圖所示展現的是一個 jsf 頁面的結構樹:
該樹中展現了JSF頁面的層次結構,元件之間的上下級關系。使用者可以在該視窗中拖拽元件并将元件放置到不同的樹節點上,拖放的結果會在 JSF 頁面的源碼以及 Editor 中同步更新。
元件托盤(Component Palette) 包含了可以拖放到頁面中顯示的 UI 元件。元件托盤根據元件分類将元件展現在不同的頁中,開發人員可通過頂部下拉框來選擇使用不同類型的元件,比如 ADF UI 元件、JSF 标準 UI 元件、HTML 标簽等。如圖 2 所示。在每一個元件分頁中,JDeveloper 将元件進行進一步的分類,并顯示在不同的窗格裡面。如圖 3 所示,ADF Faces 的頁面元件被分為 General Controls, Text and Selection, Data Views, Menus and Toolbars, Layout 以及 Operations。使用者可以切換不同的窗格來選取不同的元件。
圖 2 圖 3
Tips:有時會發現把元件拖放到頁面上會比較難以準确定位,在這種情況下,可以在 Structure Window 中單擊選中準備拖放元件的父節點,然後單擊元件托盤中的元件來将元件定位到JSF頁面中。也可以直接從元件托盤中,拖放元件到結構樹上來完成同樣的事情。
我的元件(My Components) 在元件托盤中,有一個比較特殊的元件頁叫做“My Components”該頁中包含以下三部分:
- Favorites 當開發人員選擇一個元件并右鍵選擇“Add to Favorites”時,該元件就會被顯示在 My Components 中的 Favorites 窗格中,以便于快速選取。
- Code Snippets 在頁面編輯器中以 source 的方式編輯一個檔案時,可以将一段 Java 代碼或者 JSF 的 XML 或者任何其他源檔案代碼片段,拖放到該區域并給予命名。以便重複使用。
- Recently Used 該窗格列出最近使用的UI元件。
JDeveloper 界面主要區域及功能介紹
屬性編輯器(Property Inspector) 屬性編輯器預設在右下方顯示(如下圖所示)。
開發人員目前選中的 UI 元件或者某個對象會在該窗格内顯示其所有的屬性(property)。開發人員可以在該窗格中編輯這些屬性的值。開發人員可以單擊該窗格工具欄的第一個按鈕(上圖紅色标記)來設定該窗格在滑鼠移動到其上時自動最大化以友善編輯。
日志視窗(Log Window)日志窗格預設顯示在底部中央位置(如下圖)。該窗格顯示和操作相關的日志,比如在内置的 WebLogic 伺服器中運作應用的标準輸出等。程式運作過程中發生的任何錯誤或者異常資訊可以從該窗格直接連結到相關的源檔案。郵件菜單運作使用者儲存、清楚或者控制是否讓日志資訊自動換行。
代碼編輯器(Code Editor)JDeveloper 支援在 Code Editor 中編輯不同的 Plain Text 檔案,如 Java 代碼、JSP/JSF 頁面代碼、XML、Javascripts、CSS、HTML 等。輕按兩下一個檔案即可打開 Code Editor 進行編輯。Code Editor 一般有多種編輯模式,不同的檔案類型可能支援不同的類型。比如下圖中對 TaskFlow 的編輯可以支援流程圖編輯、源代碼編輯以及概覽編輯等不同的方式。代碼編輯器具有一般 IDE 的基本功能如:代碼提示、快速 Java Doc 等。以下主要介紹其不同之處。
Code Editor 選項配置 Code Editor 可以設定其字型、文法顯示顔色、undo 行為、tab 鍵空格數量等選項。通過(Tools | Preference)可以進入IDE的選項配置。如圖表 4 所示。 Code Editor 中也支援标準的 Windows Ctrl+C, Ctrl+V 的方式進行複制粘貼。
圖表 4 Code Editor
Tips: JDeveloper 支援 Extended Paste 功能,選擇菜單(Edit | Extended Paste)或者快捷鍵 Crtl+Shift+V 的方式在剪貼闆曆史中選擇需要粘貼的内容。
自動補全标簽和代碼 Code Editor 能自動補全 XML 标簽或者 Java 代碼。例如在開發人員編寫JSP源代碼時,代碼編輯器會在開發人員輸入結束标簽的開始時将結束标簽自動補全(如補全</table>标簽當起始标簽為<table>時)。在Java代碼編輯中也有相同的功能,你可以在輸入一個變量名前幾個字母後,通過快捷鍵 Ctrl+Shift+Space 來補全該變量名。
代碼模闆 代碼模闆功能可以幫助程式員快速書寫一些常用的代碼。比如程式員可以在 Java 代碼中輸入 sop 然後通過快捷鍵Ctrl+回車來使編輯器生産 System.out.println(); 的代碼。程式員可以檢視、編輯、定義所有的代碼模闆(Tool | Preference |Code Editor| Code Templates)如下圖所示。
Tips: 可以單擊源代碼編輯的左邊槽格中的右鍵菜單中的“Toggle Line Numbers” 來顯示源代碼的行号。
面包屑(Breadcrumbs) 在編輯器的底部會有一個 Breadcrumbs “面包屑”功能(如下圖),該功能顯示了目前編輯的對象在整個文檔中的完整路徑。程式員可以單擊該面包屑上的任何一個節點來選中并切換目前編輯的對象。程式員也可以将滑鼠放置到面包屑的兩端來使其滾動。該功能在一行中顯示了文檔的結構化層次,類似于檔案系統的檔案路徑。
Import 助手 在編輯 Java 代碼時,如有一個 Class 沒有被 Import,編輯器會在該 Class 下方顯示波浪線表示需要 Import。等待幾秒鐘後,會有一個彈出視窗(如圖 5)提示程式員可以通過快捷鍵 Alt+Enter 來編輯 Import 的代碼。輸入 Alt+Enter 後系統将會彈出一個對話框并列出所有和目前使用 Class 相同名稱的 Import 清單(如圖 6)。程式員可以選擇其中之一,編輯器會自動建立 Import 代碼。需要 Import 的類要保證其在項目的類路徑中,不然 Import 助手無法找到。此外,在 JDeveloper 中不同的編輯視窗複制粘貼 Java 代碼時,編輯器會自動将相關的 Import 也一起粘貼。
圖 5 圖 6
IDE Encoding 在做多語言應用開發時,通常會使用 UTF-8 作為字元集。在 IDE 中必須選擇使用該字元集以保證 Java 代碼和其他資源檔案會顯示正确的文字。程式員可以在( Tool | Preference | Environment | Encoding)來配置IDE全局的編碼。
Note: 在每個 Project 的 Properties 選項中,程式員需要設定 Compiler 的 Encoding 符合項目所需要的标準。
外部工具(External Tools)在 JDeveloper 中程式員可以配置外部工具來輔助開發。程式員可以選擇菜單(Tools | External Tools) 來打開配置視窗。單擊“Find”按鈕來尋找外部工具。JDeveloper 自帶了五個外部工具,如右圖所示分别為 Explore Directory、Notepad、Mozilla Firefox, Internet Explorer、Word。程式員也可以單擊“New” 添加自己的外部程式并編輯相關的參數。 程式員選擇一個或者多個外部工具,單擊“ok”确認。确認後,外部工具就被添加在工具條以及右鍵菜單中。程式員可以通過這些工具打開外部的程式進行編輯(NotePad, Word)、浏覽(Mozilla FireFox, Internet Explorer)或者檔案操作(Explore Directory會打開目前選中檔案所在的檔案夾以便使用者進行檔案管理)。
調試器(Debugger) JDeveloper 提供了非常完整的調試功能。程式員可以使用 Debugger 來調試Java, JSP Tags, ADF Faces 和 JSF 請求生命周期以及 Javascript。調試器幫助程式員定位并跟蹤代碼的執行順序,更深入的了解代碼的執行邏輯。在執行 Debug 前首先确認在 Project 屬性設定中開啟了 Full Debug Info (Application|Project|Properties 輕按兩下 Project 節點可以直接打開)。在 JDeveloper 中可以以 Debug 模式來運作程式,啟動後 JDeveloper 會顯示如下界面:
圖表 7 Debugger 界面
調試器提供了多個視窗顯示不同的調試資訊,程式員可以在菜單(View|Debugger)選擇需要打開的視窗:
這些視窗分别提供以下功能:
- Breakpoints 該視窗列出了所有程式員設定的斷點或者系統預設的斷點。在該視窗中程式員可以設定斷點的抛出條件、分組等屬性。
- Classes 該視窗顯示了會被調試器跟蹤的包和類。可以通過右鍵菜單啟動或者取消這些包的斷點。
- Data 該視窗顯示所有和目前執行範圍内的所有變量、常量和參數的值。
- Heap 顯示應用所使用堆棧的情況,幫助使用者尋找記憶體洩漏。
- Monitors 該視窗跟蹤線程間的資料同步。例如,你可以使用這個視窗來确定哪個線程正在等待其他線程的資料,并确定是否有死鎖發生。
- Smart Data 該視窗顯示和目前執行代碼行相近的代碼中使用到的變量、常量、和參數值。 Smart Data 視窗内的值别Data視窗中的範圍更小,因為它隻包含和目前跟蹤代碼行相臨近的代碼中的值。
- Stack 該視窗顯示目前代碼調用的堆棧。
- Threads 該視窗顯示所有線程的資訊。如果是一個 Web 應用則該視窗可以顯示内嵌 WebLogic 伺服器的所有線程狀态資訊。
- Watches 該視窗可以顯示程式員所定義的表達式的值。表達式可以包含程式内變量或者其他資料。表達式可以包含運算符。
- EL Evaluator 該視窗用于顯示程式員設定的EL表達式的值。
- ADF Structure 用樹狀層級結構顯示了 JSF 頁面在伺服器端生成的對象樹。并且該視窗右上角 ADF Lifecycle Breakpoints 中可以設定斷點對 ADF 請求生命周期各個階段設定斷點。
- ADF Data 該視窗顯示了和 ADF Faces 在伺服器各個 Memory Scope 中的變量及其值以及目前頁面綁定容器中設定的資料控件(Data Control)、綁定(Binding)的資料。該視窗通常和 ADF Structure 視窗配合使用。
- Inspector 該視窗需要通過右鍵菜單在代碼編輯器、Watches 視窗、Data 視窗或者 Smart Data 視窗中選擇一個變量後打開。該視窗可以打開多個,專門用于跟蹤一個變量的值。
在調試進行過程中,程式員可以在圖表8中的調試工具條中選擇 step over (執行下一行代碼)、 step into(執行代碼或者進入調用的方法)、step out (傳回調用該方法的代碼)、step to end of method (跳到目前方法結尾或者下一個斷點處)或者resume(繼續執行到下一個斷點)。
JSP/JSF/HTML可視化編輯器(Visual Editor) 提供了一個可視化的頁面編輯器。程式員可以通過拖放頁面元件的方式來定義一個 JSF/JSP/HTML 頁面。通過可視化編輯器做的修改會自動立即同步到頁面的源代碼。當程式員輕按兩下一個頁面檔案時,JDeveloper 預設會打開 Visual Editor 來編輯該檔案。在編輯器左上角下拉框中可以選取顯示目前頁面的分辨率、預設值為 800x600。
模組化和圖形編輯器(Modelers and Diagrammers)
JDeveloper 11g 支援下列 UML 模組化工具:
- 類圖
- 活動圖
- 用例圖
- 序列圖
JDeveloper 支援下列非 UML 模組化工具
- XML 編輯器
- JSF 導航 TaskFlow 編輯器
- Struts Page Flow 編輯器
模組化工具詳見 JDeveloper 幫助文檔,本書中就不詳細介紹了。
資料庫浏覽器(Database Navigator) 程式員可以再 Application Navigator 中的資源分頁或者 IDE 連接配接分頁中維護資料庫連接配接。但這兩個工具的功能并不夠強大。JDeveloper 提供了另外一個工具資料庫浏覽器來支援資料庫相關的開發。程式員可以通過菜單(View| Database Navigator)打開該工具(如圖所示)。該工具支援程式員浏覽或者編輯資料庫對象及其資料。要使用該工具,首先需要建立一個 IDE 的資料庫連接配接,程式員需要提供使用者名、密碼以及資料庫伺服器的連接配接參數來定義一個資料庫連接配接。資料庫對象以樹狀結構分類顯示,程式員可以輕按兩下一個對象将其顯示在編輯器區域。在編輯器區域程式員可以浏覽器資料、增加新的資料庫記錄檢視對象相關資訊以及建立該對象所使用的 SQL 等。
SQL Worksheet
在資料庫浏覽器中選中一個節點右鍵菜單中可以打開一個 SQL 工作單。在該工作單中可以定義 SQL 預計并執行檢視結果。
Database Documentation
在資料庫浏覽器中選中一個連接配接,并打開右鍵菜單中的 Generate DB Doc。JDeveloper 會生成一個基于 Html 的應用,并打開浏覽器通路該應用的index.html 頁面。該應用會展現目前資料庫 schema 的對象和詳細資訊,如下圖所示。
徐晉
甲骨文進階銷售顧問
個人技術網站: http://blog.csdn.net/genexujin