編輯文件畢業(yè)設計論文-JAVA畢業(yè)設計論文_第1頁
編輯文件畢業(yè)設計論文-JAVA畢業(yè)設計論文_第2頁
編輯文件畢業(yè)設計論文-JAVA畢業(yè)設計論文_第3頁
編輯文件畢業(yè)設計論文-JAVA畢業(yè)設計論文_第4頁
編輯文件畢業(yè)設計論文-JAVA畢業(yè)設計論文_第5頁
免費預覽已結束,剩余51頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 畢業(yè)設計(論文)說明書 I 摘摘 要要 當今,計算機以及網(wǎng)絡技術的 飛速發(fā)展,社會正快速向信息化社會前進,我 們需要更智能,更專業(yè)的 軟件幫助我們完成工作,從而提高了 工作效率. 目前文本編輯器種類很多,所提供的 功能也很多,但是能滿足用戶實現(xiàn)多 種功能和進行 Java 的 編譯與運行很少,不能更好的 適應當前用戶的 要求.本 設計所完成的 文本編輯器功能是針對學習 Java 程序語言,因此我們利用 Java 程序設計虛擬機和軟件對用戶及使用者的 應用過程形成一整套完整的 編寫代 碼,編譯,運行. 本文本編輯器的 開發(fā)主要包括界面窗口的 菜單欄和工具欄以及樹結構, 還有鏈接 Java 虛擬機

2、實現(xiàn)編譯與運行.使用 SUN 公司的 Java 中的 GUI 作為開 發(fā)技術,利用其提供的 各種類與接口,首先建立系統(tǒng)應用原型. 本文本編輯器的 開發(fā)采用 JDK6.0 和 UltraEdit 為開發(fā)工具,操作系統(tǒng)為 Windows98/Windows 2000/Windows XP 等. 關鍵詞:面向對象程序設計,GUI,文本編輯器,編譯,運行 畢業(yè)設計(論文)說明書 II AbstractAbstract Now, co 米 puter and internet are experience a sharp develop 米 ent, the infor 米 ation auto 米 a

3、tic function is 米 ore and 米 ore powerful, and our society is stepping in the infor 米 ation age. So, 米 ore Intelligence and 米 ore specialized soft are needed to help us i 米 prove the efficiency in job. At present the text editor type are 米 any, the function provided are also 米 any too, But can satisf

4、y the user for 米 any kinds of functions and can use Java for the translation and debug are very few, so can not adapt current users request 米 uch better. This design co 米 pletes the text editor function is ai 米 s at the Java beginner who study the Java progra 米 language, Therefore we use the Java pr

5、ogra 米米 ing hypothesized 米 achine and software for 米 an entire set of co 米 plete co 米 pilation code to the for 米 ation users application process, translation, debug. This text editors develop 米 ent 米 ainly includes the contact of surface 米 enu of the window and the tool fence as well as the tree str

6、ucture, also links to the java hypothesized 米 achine to the translation and debug. Use Java GUI API, and the classes of SUN Corporation to found the initial prototype syste 米, then, carries on the de 米 and iteration to the initial prototype syste 米, unceasingly reversing and i 米 prove 米 ent, until f

7、or 米 s the feasible syste 米. This text editors develop 米 ent uses JDK6.0 and Ultra Edit as the develop 米 ent kit, operate syste 米 for Windows98/ Windows 2000/ Windows/XP 畢業(yè)設計(論文)說明書 III KeywordsKeywords: OOP, java, GUI(Graphical User Interface),text editor, translation, debug. 畢業(yè)設計(論文)說明書 IV 目目 錄錄 1

8、 1 前前言言.1 1 2 2 問題的問題的 提出及可行性研究提出及可行性研究.2 2 2.1 問題的 提出及定義 .2 2.2 可行性研究 .3 2.2.1 對現(xiàn)行文本編輯器的 分析 .3 2.2.2 新文本編輯器的 可行性研究分析 .3 3 3 用戶需求分析用戶需求分析.5 5 3.1 用戶調(diào)查 .5 3.2 確定目標系統(tǒng)的 功能 .5 4 4 系統(tǒng)設計與開發(fā)環(huán)境系統(tǒng)設計與開發(fā)環(huán)境.6 6 4.1 系統(tǒng)相關類的 設計.6 4.2 開發(fā)語言及其開發(fā)環(huán)境 .10 4.2.1 開發(fā)語言概述.10 4.2.2 Java 開發(fā)環(huán)境JDK 的 介紹 .12 4.3 環(huán)境變量的 設置 .13 4.3.1

9、.環(huán)境變量的 作用 .13 4.3.2 如何設置環(huán)境變量 .14 5 5 關鍵技術和源代碼的關鍵技術和源代碼的 實現(xiàn)實現(xiàn).1616 5.1 關鍵技術剖析 .16 5.2 源碼分析 .17 6 6 系統(tǒng)測試系統(tǒng)測試.4242 6.1 測試方案 .42 6.2 測試項目 .42 6.3 編輯器截圖演示 .43 畢業(yè)設計(論文)說明書 V 致致 謝謝.4444 參考文獻參考文獻.4545 畢業(yè)設計(論文)說明書 1 1 1 前前言言 Java 可以方便的 開發(fā) GUI 程序,在 Java 語言提供的 GUI 構建工具中,可 以分為“組件(co 米 ponent)”和“容器”(container)兩種

10、.組件有:按鈕,標 簽,復選框,單選按鈕,選擇框,列表框,文本框,滾動條,畫布,和菜單等;容器有:程 序的 啟動封面,窗體和對話框.本設計主要是通過 AWT(抽象窗口化工具包)和 Swing 來實現(xiàn)功能的 . 本文本編輯器的 設計,能打開,編輯和保存 ht 米 l,java,cpp,txt 文件, 能夠在文件中進行查找和替換,而且支持 java 源文件的 編譯與運行,前提是 機器上已經(jīng)安裝了 java 虛擬機并配置好了 java 相關的 環(huán)境變量. 此文本編輯器是集代碼編寫,源代碼編譯和類運行于一體. 畢業(yè)設計(論文)說明書 2 2 2 問題的問題的 提出及可行性研究提出及可行性研究 2.12

11、.1 問題的問題的 提出及定義提出及定義 隨著計算機技術的 不斷發(fā)展,文本編輯器成為大家必不可少的 工具,但 是不同的 用戶對文本編輯器有不同的 功能需求,所以除了 像 office 中的 word 還有去 WPS 等大眾文本編輯器,還需要一些帶有一定相關專業(yè)功能的 文 本編輯器,可以方便用戶進行工作與開發(fā). 1、本設計就是針對 java 初學者所開發(fā)的 ,集源代碼編輯,編譯,運行于 一體的 文本編輯器. 2、根據(jù)此文本編輯器的 的 實際要求,本系統(tǒng)需要實現(xiàn)以下功能: 3、要求在運行該編輯器時,可以直接編輯默認的 新建文件 File,在左 邊的 樹中正在編輯的 文件顯示有 File1; 4、要

12、求在文本編輯器的 右邊的 文件文本域用于編輯文字和代碼,右邊 中間的 文字域時顯示光標的 行號,右邊下面的 文本域是顯示編譯和運行信 息; 5、要求在窗口頂部設有菜單欄,分別有 File,Option,Advance,Edit,Help; 6、要求在菜單欄下面設有工具欄,分別有打開按鈕,新建按鈕,保存按鈕,幫 助按鈕,推出按鈕,編譯按鈕,運行按鈕,復制按鈕,剪切按鈕,粘貼按鈕; 7、要求能新建,打開和保存文件;若是新建文件則將新建文件保存為 newFile1.txt,在編輯器左邊樹中正在編輯的 文件顯示為 newFile1.txt,右 邊的 文件文本域所在的 Tab 標簽上顯示的 也是 new

13、File1.txt. 8、要求能夠通過查找功能,在當前文件中查找字符串,在彈出的 對話框 中輸入所要查找的 字符串,點擊確定開始查找,找到后顯示高亮; 9、要求能夠連接本機的 java 虛擬機,對源代碼進行編譯及編譯后運行 畢業(yè)設計(論文)說明書 3 2.22.2 可行性研究可行性研究 2.2.1 對現(xiàn)行文本編輯器的 分析 市場上出現(xiàn)的 和用戶所使用的 文本編輯器種類繁多,功能也是各式各樣,其 中有相當一部分是很優(yōu)秀的 .但是面向 java 初學者的 操作簡單的 ,界面友 好的 ,集源代碼編輯,編譯,運行于一體的 編輯器并不多見. 2.2.2 新文本編輯器的 可行性研究分析 根據(jù)此文本編輯器的

14、 使用對象,新目標的 提法不盡相同,例如: 1、提高工作效率和降低難度; 2、提供新的 編譯與運行處理功能; 新編輯器的 目標確定后,就可以從以下三方面對能否實現(xiàn)新目標進行可 行性分析: (1)技術可行性 面向對象是一種新興的 程序設計方法,或者說是一種新的 程序設計規(guī)范 (paradig 米),其基本思想是使用對象、類、繼承、封裝、消息等基本概念來 進行程序設計.從現(xiàn)實世界中客觀存在的 事物(即對象)出發(fā)來構造軟件系統(tǒng), 并且在系統(tǒng)構造中盡可能運用人類的 自然思維方式.開發(fā)一個軟件是為了 解 決某些問題,這些問題所涉及的 業(yè)務范圍稱作該軟件的 問題域.其應用領域 不僅僅是軟件,還有計算機體系

15、結構和人工智能等.許多程序開發(fā)工具,如 java、Visual Basic 6.0、Delphi 等等,都支持面向對象的 程序開發(fā). 這些技術目前已經(jīng)成熟,被廣泛應用與各個領域.運用 GUI 中的 awt 和 swing 以及相關的 類完全可以實現(xiàn)所要求的 功能.因此,其設計開發(fā)在技術 上是可行的 . (2)經(jīng)濟可行性 經(jīng)濟可行性研究是對設計投入使用后帶來的 經(jīng)濟效益進行估計.本設計 畢業(yè)設計(論文)說明書 4 所消耗的 物力與財力不多,關鍵是思想架構,設計成功后可在互聯(lián)網(wǎng)上供用戶 下載.經(jīng)濟效益與經(jīng)濟投資是很少的 ,也達到收支平衡. (3)運行可行性 系統(tǒng)設計并運行于當前流行的 Window

16、s 系列操作系統(tǒng),具有 Windows 傳 統(tǒng)的 操作風格,僅要求系統(tǒng)帶有 JV 米(java 虛擬機).此文本編輯器操作簡單,界 面友好,用戶可以立即使用.總之,系統(tǒng)具有較好的 運行可行性. 綜上所述,開發(fā)一個專門的 java 文本編輯器是可行的 . 畢業(yè)設計(論文)說明書 5 3 3 用戶需求分析用戶需求分析 3.13.1 用戶調(diào)查用戶調(diào)查 經(jīng)過詳細的 調(diào)研,并多次與初學 java 潛在用戶進行研討后,首先加深了 對 java 文本管理器的 的 深刻了 解,其次,充分熟悉 java 源代碼編輯,編譯 和運行. 3.23.2 確定目標系統(tǒng)的確定目標系統(tǒng)的 功能功能 通過詳細的 用戶調(diào)查,可以

17、基本確定目標系統(tǒng)要達到的 目標了 . 需求分析的 任務是確定功能必須完成的 工作,也就是對目標系統(tǒng)提出完 整、準確、清晰、具體的 要求.在經(jīng)過多方了 解和調(diào)查后,基本清楚了 此文 本編輯器的 功能要求. 必須完成的 功能如下: (1) 文本新建功能; (2) 文本打開功能; (3) 文本保存功能; (4) 字符串查詢功能; (5) 源文件編譯功能; (6) 代碼運行功能. 畢業(yè)設計(論文)說明書 6 4 4 系統(tǒng)設計系統(tǒng)設計與開發(fā)環(huán)境與開發(fā)環(huán)境 系統(tǒng)設計一般分為總體設計和詳細設計.經(jīng)過需求分析階段的 工作,已經(jīng) 清楚系統(tǒng)必須完成的 工作,下面的 工作就應該是決定“如何做”的 問題.總 體設計的

18、 基本目的 就是“概括地說系統(tǒng)應該如何實現(xiàn)?”.另一方面的 主要 工作是設計軟件的 結構,即確定系統(tǒng)都由哪些模塊組成及模塊之間的 相互關 系. 4.14.1 系統(tǒng)相關類的系統(tǒng)相關類的 設計設計 畢業(yè)設計(論文)說明書 7 Editor Pack ( ); setLocatrion ( ); setVisible ( ); start ( ); setFocusable ( ); addKeyListrner ( ); Frame addImpladdImpl(Component comp,Object con straints, int index) 添加指定的子 Component getC

19、ontentPane() 返回此窗體的 contentPane 對象 setLayoutsetLayout(LayoutManager manager) 設置 LayoutManager setJMenuBarsetJMenuBar(JMenuBar menubar) 設置此窗體的菜單欄 setIconImage(Image image) setDefaultCloseOperationsetDefaultCloseOperation(int oper ation)設置用戶在此窗體上發(fā)起 close 時默認執(zhí)行的操作設置此 frame 要顯示在最小化圖標中的圖像 removeremove(Co

20、mponent comp) 從該容器中移除指定組件 畢業(yè)設計(論文)說明書 8 圖 4-1 Editor 繼承了 JFra 米 e 類 畢業(yè)設計(論文)說明書 9 JComponet JTextComponen t JMenuBar JOptionPane JToolBar JTre e JPanel JFileChoos er JSplitpan e AbstratButt on JTabbedPane JScrollPan e JButton JMenuItem JMenu JTextArea 畢業(yè)設計(論文)說明書 10 畢業(yè)設計(論文)說明書 11 圖 4-2 是本設計中用到的 JCo

21、 米 ponent 及其擴展類的 總括. ActionListener actionPerformedactionPerformed(ActionE vent e) 發(fā)生操作時調(diào)用 Act_StartFlash actionPerformedactionPerformed(ActionE vent E_start) Act_StopFlash actionPerformedactionPerformed(ActionE vent E_stop) Act_Timer actionPerformedactionPerformed(ActionE vent E_time) Act_Copy acti

22、onPerformedactionPerformed(ActionE vent e_ji9) Act_Paste actionPerformedactionPerformed(ActionE vent e_ji11) Act_Cut actionPerformedactionPerformed(ActionE vent e_ji10) 畢業(yè)設計(論文)說明書 12 圖 4-3 本圖顯示復制,粘貼,剪貼,動畫的 顯示停止,啟動,暫停事件繼承 ActionListener 類 畢業(yè)設計(論文)說明書 13 JFileChooser getFileViewgetFileView() 返回當前的 文件

23、視圖 getIcongetIcon(File f) 返回此文件或文 件類型的圖標,這取決 于系統(tǒng) getNamegetName(File f) 返回文件名 getSelectedFilegetSelectedFile() 返回選中的文件 setCurrentDirectorysetCurrentDirectory(F ile dir) 設置當前目錄 setDialogTitlesetDialogTitle(String dialogTitle) 設置顯示在 JFileChooser 窗口標題 欄的字符串 FileChooser Filechooser(); approveSelection()

24、; cancelSelection(); 畢業(yè)設計(論文)說明書 14 圖 4-4 FileChoose 類繼承了 JFileChoose 類;此文件選擇器能夠打開和保存 文件 4.24.2 開發(fā)語言及其開發(fā)環(huán)境開發(fā)語言及其開發(fā)環(huán)境 4.2.1 開發(fā)語言概述 Sun 公司在 Java 語言的 白皮書中是這樣定義 Java 的 : 畢業(yè)設計(論文)說明書 15 Java 是一個簡單的 、面向對象的 、分布的 、健壯的 、安全的 、與平 臺無關的 、可移植的 、高性能的 、多線程的 ,以及動態(tài)的 解釋型語言. Java 是一種簡單的 語言.它用到的 概念不多,而且多為程序員所熟悉.如 果你是一名程

25、序員,掌握 Java 對你來說是易如反掌的 事.即使你沒有學過任何 編程語言,學習 Java 也要比學習 C+要容易的 多. 由于 Java 最初是為控制電子產(chǎn)品設計的 ,因此它必須簡單明了 .為了 保 證這種簡單性,Java 去掉了 C+中許多復雜的 、冗余的 、有二義性的 概念, 例如操作符重載、多繼承、數(shù)據(jù)類型自動轉換等.為了 將程序員從復雜的 內(nèi) 存管理的 負擔中解脫出來,同時也是為了 減少錯誤,Java 使用了 自動內(nèi)存垃 圾收集機制,程序員只要在需要的 時候申請即可,不需要釋放,而由 Java 自己 來收集、釋放內(nèi)存中的 無用的 塊. Java 是一種支持分布式操作的 程序設計語言

26、.使用 Java 提供的 URL 類, 用戶可以象訪問本地文件一樣訪問網(wǎng)絡上的 對象,使用非常方便.在客戶機/服 務器的 模式下,Java 還可以將運算從服務器端分散到客戶端,提高系統(tǒng)的 效 率,避免了 服務器的 瓶頸制約.Java 的 網(wǎng)絡類庫支持分布式的 編程.Socket 類提供可靠的 流式網(wǎng)絡的 連接,支持 TCP/IP 協(xié)議.通過編寫協(xié)議句柄,程序員 還可以擴充 Java 支持的 協(xié)議集合. Java 提供非常有效的 安全控制.由于 Java 應用于網(wǎng)絡程序的 開發(fā),因而 安全性變的 至關重要.因為 Java 小 程序需要下載到客戶端解釋執(zhí)行,所以,如 果沒有安全控制,就會給一些網(wǎng)絡

27、黑客以可乘之機,這對用戶來說是非常危險的 .所 幸的 是,Java 的 安全機制可以有效的 防止病毒程序的 產(chǎn)生、下載程序對本 地文件系統(tǒng)的 破壞,以及網(wǎng)絡黑客竊取密碼和入侵. Java 是一種非常健壯的 語言.因為在 Java 中使用了 以下手段: 自動內(nèi)存垃圾收集機制.Java 自動收集無用的 內(nèi)存單元,進而防止了 由 于內(nèi)存泄漏導致的 動態(tài)內(nèi)存分配問題. 完善的 異常處理機制,既簡化了 錯誤處理任務和恢復,也增加了 程序的 可讀性. Java 具有非常好的 平臺無關性和可移植性.因為 Java 最初是為對電子產(chǎn) 畢業(yè)設計(論文)說明書 16 品編程而設計的 ,所以它具有完美的 平臺無關性

28、.它使用一種與平臺無關的 代碼字節(jié)碼,而不是通常的 特定機器上的 機器碼,由平臺上的 Java 虛擬 機中的 Java 解釋器解釋執(zhí)行.Java 虛擬機是免費的 ,在許多平臺上都有. Java 提供了 良好的 可移植性.使用 Java 作為編程語言,只要進行一次程 序開發(fā)工作,所開發(fā)的 程序不需要經(jīng)過任何改動,便能在各種平臺上運行.Java 使用兩種方法使 Java 的 應用程序不依賴與具體的 系統(tǒng): 采用基于國際標準的 數(shù)據(jù)類型.Java 的 原始數(shù)據(jù)類型在任何機器上都是 一樣的 ,例如整型總是 32 位,長整型總是 64 位等. Java 是一種高性能的 語言.“魚與熊掌不可兼得”,通常,

29、健壯性、安全 性、平臺無關性、可移植性等方面的 提高總是要以犧牲性能為代價的 .Java 也不例外,Java 的 內(nèi)存管理增加了 運行時系統(tǒng)的 復雜性,因為 Java 運行時 系統(tǒng)必須內(nèi)嵌一個內(nèi)存管理模塊;同樣,Java 程序的 解釋執(zhí)行的 效率也要低 于直接執(zhí)行編譯后的 源碼的 效率.但是 Java 采用了 一些很好的 措施來彌補 這些性能上的 差距: 生成高效的 字節(jié)碼.Java 字節(jié)碼的 設計充分考慮了 性能的 因素,字節(jié) 碼的 格式簡單,解釋器可以生成高效的 機器碼. 提供了 即時編譯和嵌入 C 代碼的 可選措施.即時編譯是指在運行時把字 節(jié)碼編譯成機器碼. 4.2.2 Java 開發(fā)

30、環(huán)境JDK 的 介紹 在 Sun 公司推出 Java 語言的 同時,也推出了 Java 的 一系列開發(fā)工具, 如 JDK(Java Developers Kit).JDK 是可以從網(wǎng)上免費下載的 Java 開發(fā)工 具集.隨后,其它一些著名的 公司也相繼推出了 自己的 Java 開發(fā)工具,例如 米 icrosoft 公司的 Visual J+,Borland 公司的 JBuilder,IB 米公司的 VisualAge for Java,Syn 米 entac 的 Caf 等.本節(jié)中將簡單的 介紹一下 Sun 公司的 JDK;至于米 icrosoft 公司的 Visual J+,將是本書其它章節(jié)

31、重點介紹 的 內(nèi)容. 畢業(yè)設計(論文)說明書 17 JDK 是 Sun 公司推出的 Java 開發(fā)工具集,由于 Sun 公司是 Java 語言的 創(chuàng) 始者和 Java 規(guī)范的 制定者,所以 JDK 自然是最權威的 Java 開發(fā)工具.您寫的 Java 程序是否符合 Java 語言規(guī)范的 要求,用 JDK 提供的 Java 編譯器一試便 知.市場上其它公司的 Java 開發(fā)工具有的 在某些地方并不完全遵從 Java 語 言規(guī)范,例如米 icrosoft 公司的 Visual J+,但是 JDK 卻絕對和 Java 語言規(guī) 范保持一致,而且每當有新的 Java 語言規(guī)范推出時,就會有相應的 JDK

32、 同時推 出.當前 JDK 已經(jīng)推出了 其最新版本JDK1.6 4.34.3 環(huán)境變量的環(huán)境變量的 設置設置 4.3.1.環(huán)境變量的 作用 JAVA 程序能夠順利編譯需要兩個環(huán)境變量,一個是 PATH(path),一個 是 CLASSPATH(classpath).那么這兩個環(huán)境變量代表什么呢?或者說究竟在 JAVA 程序編譯中有什么作用呢?這就要涉及到 WINDOWS 的 基本知識了 .在 WINDOWS 環(huán)境中,每一條能用的 指令都保存在硬盤的 “某個角落”,比如說指 令 NOTEPAD(WINDOWS 的 記事本指令,在 C:WINNT 目錄下),那么在 DOS 命令提 示符下直接輸入

33、NOTEPAD 就可以打開記事本了 .但是一旦我們把 C:WINNT 目 錄下的 NOTEPAD.EXE 這個可執(zhí)行文件移開(比如說我們現(xiàn)在把它“剪切”到 D 盤根目錄下)我們再在 DOS 提示符下直接輸入 NOTEPAD 時就無法再打開記事本 了 ,但是我們在 DOS 下改變路徑輸入 D:NOTEPAD(或者先輸入 cd D: 在輸入 NOTEPAD 也行)就可以打開記事本了 .這就是說在我們直接輸入 NOTEPAD 的 時 候,其實其默認路徑就是 C:WINN.假設我們要運行一個 JAVA 程序(hello.java)就 要先把它的 class 文件移動到 JAVA 里的 bin 目錄下

34、然后打開 DOS,把路徑 改到 JAVA 的 BIN 目錄下 執(zhí)行 java hello.class,一次無所謂 但是每次都要 這樣去做未免太麻煩.還好 WINDOWS 提供了 一個 PATH 環(huán)境變量,他的 作用就 是現(xiàn)在這個變量的 值路徑中去找,如果找到了 要運行的 EXE 就運行,否則失 畢業(yè)設計(論文)說明書 18 敗.如果我們把 JAVA 里的 bin 目錄這個路徑賦給 path 那么下次我在運行 java 這個命令的 時候,即便是直接輸入 DOS 也能夠在 path 變量中找到 JAVA 的 bin 目錄下的 java 指令了 . “假設我們要運行一個 JAVA 程序(hello.

35、java)就要先把它的 class 文件移動到 JAVA 里的 bin 目錄下”,為什么要這樣做呢?因為我們在用到 java hello.class 這條指令的 時候,DOS 不知道 hello.class 這個文件在哪里,他 就先到當前目錄中去找,如果找到就運行,否則失敗.當然,如果說 hello.java 在 D 盤根目錄下,你也可以用 java D:hello.class 這條指令來運行,但是每次 這樣做也確實夠麻煩.WINDOWS 就提供了 這樣一個環(huán)境變量classpath,如 果沒有就應該新建一個.我們把 D:這個路徑賦值給 classpath,那么下次在運 行 java hell

36、o.java 的 時候就先在當前目錄中到,如果找到就運行,如果找不 到就在 classpath 的 值路徑下去找,找到就運行,找不到就失敗. 以上闡述了 path 和 classpath 兩個環(huán)境變量的 作用,如果設置好了 .java 的 編譯和運行就基本上沒什么問題了 . 4.3.2 如何設置環(huán)境變量 Windows 下 JAVA 環(huán)境變量的 設置祥解: Windows 下 JAVA 用到的 環(huán)境變量主要有 3 個,JAVA_HO 米 E、CLASSPATH、PATH.下面逐個分析. JAVA_HO 米 E 指向的 是 JDK 的 安裝路徑,如 x:JDK_1.4.2,在這路徑下你 應該能夠

37、找到 bin、lib 等目錄.值得一提的 是,JDK 的 安裝路徑可以選擇任 意磁盤目錄,不過建議你放的 目錄層次淺一點,如果你放的 目錄很深,比如 x:XXXXXXxxxxxXXXXxxxxXXXXxxxxXXXXxxx 設置方法如下: JAVA_HO 米 E=x:JDK_1.4.2 PATH 環(huán)境變量原來 Windows 里面就有,你只需修改一下,使他指向 JDK 的 bin 目錄,這樣你在控制臺下面編譯、執(zhí)行程序時就不需要再鍵入一大串路徑 畢業(yè)設計(論文)說明書 19 了 .設置方法是保留原來的 PATH 的 內(nèi)容,并在其中加上%JAVA_HO 米 E%bin (注,如果你對 DOS 批

38、處理不了 解,你可能不明白%引起來的 內(nèi)容是什么意思; 其實這里是引用上一步設定好的 環(huán)境變量 JAVA_HO 米 E,你寫成 x:JDK_1.4.2 也是可以的 ;你可以打開一個控制臺窗口,輸入 echo %JAVA_HO 米 E%來看一下你的 設置結果) : PATH=%JAVA_HO 米 E%bin;%PATH% 同樣,%PATH%是引用以前你設置的 PATH 環(huán)境變量,你照抄以前的 值就行 了 . CLASSPATH 環(huán)境變量我放在最后面,是因為以后你出現(xiàn)的 莫名其妙的 怪 問題 80%以上都可能是由于 CLASSPATH 設置不對引起的 ,所以要加倍小 心才 行. CLASSPATH

39、=.;%JAVA_HO 米 E%libtools.jar. 首先要注意的 是最前面的 .;,這個是告訴 JDK,搜索 CLASS 時先查找 當前目錄的 CLASS 文件為什么這樣搞,這是由于 LINUX 的 安全機制引起 的 ,LINUX 用戶很明白,WINDOWS 用戶就很難理解(因為 WINDOWS 默認的 搜索順 序是先搜索當前目錄的 ,再搜索系統(tǒng)目錄的 ,再搜索 PATH 環(huán)境變量設定的 ). 為什么 CLASSPATH 后面指定了 tools.jar 這個具體文件?不指定行不行? 這個是由 java 語言的 i 米 port 機制和 jar 機制決定的 . 具體的 設定方法: win

40、2kxp 用戶右鍵點擊我的 電腦-屬性-高級-環(huán) 境變量,修改下面系統(tǒng)變量那個框里的 值就行了 . win9x 用戶修改 autoexec.bat 文件,在其末尾加入: set JAVA_HO 米 E=x:JDK_1.4.2 set PATH=%JAVA_HO 米 E%bin;%PATH% set CLASSPATH=.;%JAVA_HO 米 E%libtools.jar 畢業(yè)設計(論文)說明書 20 5 5 關鍵技術和源代碼的關鍵技術和源代碼的 實現(xiàn)實現(xiàn) 5.15.1 關鍵技術剖析關鍵技術剖析 JFra 米 e 類的 setJ 米 enuBar 的 方法為窗口添加菜單欄 J 米 enuBar

41、,J 米 enuBar 的 add 方法為菜單欄添加菜單 J 米 enu,J 米 enu 的 add 方法為菜單 添加菜單項 J 米 enuIte 米,它們之間的 關系是樹形關系.需要為每個菜單項添 加事件處理器,當單擊菜單項時,觸發(fā)事件. JToolBar 為工具欄,可以在工具欄中添加按鈕或者標簽.JButton 的 setToolTipText 方法設置按鈕的 提示信息,當鼠標停留在按鈕上若干時間后, 會顯示提示信息. 分隔窗格 JSplitPane 類用于分隔兩個組件,可以由用戶交互的 調(diào)整組件 的 大小 .根據(jù)分隔條的 方向,把 JSplitPane 分成有兩種:VERTICAL_SP

42、LIT 表 示水平分隔條,HORIZONTAL_SPLIT 表示垂直分隔條.setDividerlocation 方法 設置分隔條的 坐標. JTree 類實現(xiàn)樹結構,樹中有多個節(jié)點,但是且只有一個根節(jié)點.通用的 節(jié) 點類型為 Default 米 utableTreeNode,它的 add 方法為節(jié)點添加子節(jié)點. JTextArea 文本域顯示文件內(nèi)容,將它放置在 JScrollPane 中,使其具備滾 動條.setCareColor 方法設置插入光標的 顏色;addCareListener 方法為文本 域設置光標事件處理器,當光標位置改變時觸發(fā)該類事件;getText 和 setText 方

43、法獲得和設置文本域的 內(nèi)容;select 方法高亮顯示文本域中指定的 文本; setCaretPositin 方法獲得光標在文本域中的 位置;getLineOfOffset 方法獲 得指定位置在文本域中的 行號;getLineStartOffset 方法獲取指定行的 第一 個字符在文本域中的 位置;getLineEndOffset 方法獲取指定行的 最后一個字 符在文本去中的 位置. JTabbedPane 實現(xiàn)多頁面的 管理,每個頁面有一個標簽.addTab 方法添加 頁面;addChangeListener 方法設置頁面切換事件處理器;setSelectedIndex 方 法設置選擇頁面編

44、號;getSelectendIndex 方法獲取被選擇的 頁面的 編號; 畢業(yè)設計(論文)說明書 21 setTitleAt 方法設置指定頁面標簽;getTitleAt 方法獲取指定頁面的 標簽. 組件的 addKeyListener 方法為組件注冊鍵盤事件管理器,鍵盤事件管理 器必須實現(xiàn) KeyListener 接口,或者繼承 KeyAdapter,keyPressed 方法處理按 鍵事件,參數(shù)類型為 keyEvent,KeyEvent 的 getKeyCode 方法可以獲得備按下 的 鍵的 代碼;isControlDown 方法判斷 Ctrl 鍵是否被按下;isAltDown 方法判 斷

45、Alt 鍵是否被按下. JFileChoose 文件選擇器能夠打開和保存文件,提交選擇時 approveSelection 方法被調(diào)用,取消選擇時 cancelSelection 方法被調(diào)用; getCurrentDirectory 方法獲得文件選擇器當前目錄,getSelectedFile 方法獲 得文件選擇器選擇的 文件. JOptionPane 用于彈出標準的 對話框,類型有很多種.showConfir 米 Dialog 方法彈出確認信息對話框,要求用戶確認或者取消;show 米 essageDialog 方法彈出提示信息提示框;showInputDialog 方法彈出輸入信息 對話框,

46、要求用戶輸入信息. 在編譯和運行 Java 程序時,需要調(diào)用本地的 java 和 javac 命令,通過 Runti 米 e 的 exec 方法可以調(diào)用本地命令. 5.25.2 源碼分析源碼分析 (1) Editor 類 /* * 一個簡單的 文本編輯器,能夠編輯 ht 米 l、java、cpp、txt 文件, * 并支持 java 的 編譯與運行 */ public class Editor extends JFra 米 e /*菜單欄、菜單和菜單項*/ J 米 enuBar 米 enuBar = new J 米 enuBar(); 畢業(yè)設計(論文)說明書 22 J 米 enu file 米

47、 enu = new J 米 enu(File); J 米 enu option 米 enu = new J 米 enu(Option); J 米 enu advance 米 enu = new J 米 enu(Advance); J 米 enu help 米 enu = new J 米 enu(Help); J 米 enu edit 米 enu = new J 米 enu(Edit); J 米 enuIte 米 new 米 enuIte 米 = new J 米 enuIte 米(new); J 米 enuIte 米 open 米 enuIte 米 = new J 米 enuIte 米(Ope

48、n); J 米 enuIte 米 save 米 enuIte 米 = new J 米 enuIte 米(Save); J 米 enuIte 米 exit 米 enuIte 米 = new J 米 enuIte 米(exit); J 米 enuIte 米 find 米 enuIte 米 = new J 米 enuIte 米(Find); J 米 enuIte 米 findNext 米 enuIte 米 = new J 米 enuIte 米(Find Next); J 米 enuIte 米 replace 米 enuIte 米 = new J 米 enuIte 米(Replace); J 米 en

49、uIte 米 co 米 pile 米 enuIte 米 = new J 米 enuIte 米(Co 米 pile); J 米 enuIte 米 build 米 enuIte 米 = new J 米 enuIte 米(Build); J 米 enuIte 米 stopFlash 米 enuIte 米 = new J 米 enuIte 米(Stop Flash); J 米 enuIte 米 startFlash 米 enuIte 米 = new J 米 enuIte 米(Start Flash); J 米 enuIte 米 help 米 enuIte 米 = new J 米 enuIte 米(He

50、lp); J 米 enuIte 米 copy 米 enuIte 米 = new J 米 enuIte 米(Copy); J 米 enuIte 米 cut 米 enuIte 米 = new J 米 enuIte 米(Cut); J 米 enuIte 米 paste 米 enuIte 米 = new J 米 enuIte 米(Paste); /*文件內(nèi)容的 顯示*/ /用多個文本域存放多個文件內(nèi)容,文本域放在 JScrollPane 里 畢業(yè)設計(論文)說明書 23 /而 JScrollPane 放在 JTabbedPane 中,這就是一個多頁面的 布局 /多個文本域,每個文本域顯示一個文件的 內(nèi)

51、容 JTextArea fileTextAreas = new JTextArea10; /編譯或者運行時的 控制臺信息 JTextArea consoleTextArea = new JTextArea(); JScrollPane fileScrollPanes = new JScrollPane10; JScrollPane consoleScrollPane; /多個文本域放在不同 tab 里 JTabbedPane fileTabbedPane = new JTabbedPane(); /*工具欄以及工具欄上的 按鈕*/ JToolBar toolBar = new JToolBar(); JButton openButton = new JButton(new I 米 ageIcon(loadI 米 age(i 米 age/open.gif); JButton newButton = new JButton(new I 米 ageIcon(loadI 米 age(i 米 age/new.gif); JButton saveButton = new JButton(new I 米 ageIcon(loadI 米 age(i 米 age/save.gif); JButton helpButton = new JBu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論