BlueJ教學

這份教學將針對Version 2.0.1 for BlueJ Version 2.0.x 的英文教學指南做翻譯,同時參考中文版的第1.4版
針對1.2.X版的BuleJ教學
,希望大家可以共襄盛舉,或是提供寶貴意見,感謝!

前言

關於BlueJ

本文件的目的在於介紹如何使用 BlueJ 這個程式開發環境, BlueJ 是特別爲初學者而設計的 JavaTM 開發環境。 BlueJ 是由澳洲墨爾本 Monash 大學的 BlueJ 小組所設計及開發的。
如需要更多資訊請參考這個網址:http://bluej.monash.edu/

本書範圍及讀者

本文件是針對那些想讓自己熟悉如何使用這個開發環境的讀者,對於想討論這個環境設計過程中的結構組織和較深入的研究問題,則不在本文件的範圍。

本文件不會介紹 Java 的使用方法,因此讀者需已對 Java 有概念性的瞭解。

當然,這份文件不是一份全面性的參考手冊,本文件重點在於簡單扼要的介紹 BlueJ。如需更詳細的參考,見The BlueJ Environment Reference Manual,可以在BlueJ網站上取得(www.bluej.org)。

每一小節都有一行的摘要作為開始,讀者可以根據自己對其瞭解與否來決定是否研讀或跳過。第11節是重複一遍這些摘要總結,提供讀者快速的參考。

版權及使用許可

BlueJ 系統以及這份文件對任何人任何用途都是免費的, BlueJ 系統以及它的文件檔案可以被重新發佈而不需要任何費用。

沒有經過本系統作者的授權,任何人不能銷售 BlueJ 系統或者包含該系統的套裝軟體並從中獲利。

BlueJ 版權所有© M. Kölling, J. Rosenberg

回饋

我們歡迎任何對 BlueJ 與這份導讀有關的批評、建議、問題及錯誤更正等。請E-mail給Michael Kölling (mik@mip.sdu.dk),中譯問題請直接於此留言回應 。

安裝

BlueJ 共有三種不同型式的安裝版本:一種是 Windows,一種是 MacOS,最後一種是其它系統的,安裝的方式十分簡單。

安裝前的準備

你必須先在你的電腦上安裝了 JDK1.4 (另稱為 J2SE v1.4) 或更高的版本。通常更新Java到最新的穩定版本是建議的,如果你還沒有安裝 JDK,你可以從 Sun 公司的網站下載:http://java.sun.com/j2se/。在 MacOS X 的系統上,最新的 JDK 版本是事先就安裝好的,也就是說你並不需要自行安裝。
假如你找到了提供下載“JRE”(Java Runtime Environment) 和 “SDK” (Software
Development Kit)的網頁,你必須下載“SDK”,只下載 JRE 是不夠的。

Windows系統上的安裝

在 Windows 系統上安裝的檔案名稱為 bluejsetup-xxx.exe,其中 xxx 指的是版本
編號。例如,BlueJ version 2.0.0的安裝檔名就是 bluejsetup-200.exe,你可以從光碟上得到這個檔案,或者從 BuleJ 的網站上下載:http://www.bluej.org。執行安裝程式。

安裝程式會讓你選擇 BlueJ 的安裝目錄,它也會在『開始』的選單和桌面上提供安裝程式的捷徑。

接著在完成安裝以後,你將找到 bluej.exe 這個程式在 BlueJ 的安裝目錄中。

在第一次執行 BlueJ 時,它會自動尋找 Java system (JDK),假如它找到一個以上 Java system (如你已安裝了JDK 1.4.2 and JDK 1.5.0)的話,那麼這時就會有一個對話
視窗讓你選擇所要選用的 Java system。假如它沒有找到的話,它將會要求你自己找
出來。(這通常發生在已經安裝了JDK,但相關的註冊資訊已經被移除了)

BlueJ 的安裝程式也會安裝一個叫做 vmselect.exe 的程式,使用這個程式,你
可以在稍後改變BlueJ使用哪一個Java版本。執行 vmselect 可以啟動 BlueJ 使用不
同版本的 Java。

JDK 的版本可以被儲存在每一版的 BlueJ 中,假如你安裝了不同版本的BlueJ,那麼可以在其中一個版本使用 JDK 1.4.2,另一個版本使用 JDK 1.5。改變BlueJ使用的Java版本,會壤同一個使用者的同一版本的所有BlueJ的安裝都產生這個改變。

Macintosh系統上的安裝

請注意 BlueJ 只能在 MacOS X 執行。

在 Mac 系統上安裝的檔案名稱為 BlueJ-xxx.zip,其中 xxx 指的是版本編號。例
如,BlueJ version 2.0.0 的安裝檔名就是 BlueJ-200.zip,你可以從光碟上得到這個檔
案,或者從 BuleJ 的網站上下載:http://www.bluej.org

MacOS通常會在下載後自動解壓縮這個檔案,假如沒有雙擊這個檔案。

在解壓縮完成後,它會產生一個 BlueJ-xxx 的資料夾,接著把這個資料夾移到
Applications 目錄中(或著其它你想儲放的位置),這樣就可以了不用再做安裝。

Linux/Unix和其它系統上的安裝

一般執行安裝的檔案都是一個 jar 的檔案,它的檔名為 bluej-xxx.jar,其中 xxx
指的是版本編號。例如,BlueJ version 2.0.0 的安裝檔名就是 BlueJ-200.jar,你可以從
光碟上得到這個檔案,或者從 BuleJ 的網站上下載:http://www.bluej.org
使用下面的命令執行安裝程式。注意:在這個範例中,我使用的安裝檔為 bluej-200.jar
-你應該使用你得到的安裝檔名稱(版本編號必須正確)。
< j2se-path>/bin/java -jar bluej-200.jar
其中< j2se-path>是J2SE SDK 安裝的目錄。
接著會出現一個視窗,讓你選擇 BlueJ 的安裝目錄和執行 BlueJ 使用的 Java版本。
點選 Install,完成之後,BlueJ 就安裝完成了。

安裝問題

假如你有任何疑問,請參考BlueJ網站上的 FAQ (http://www.bluej.org/help/faq.html)
並且閱讀如何取得幫助的章節 (http://www.bluej.org/help/ask-help.html)。

開始—編輯/編譯/執行

開始 BlueJ

在 Windows 和 MacOS 系統中,有一個名稱為 BlueJ 已安裝好的程式,執行它。
在 Unix 系統中,安裝程式已經安裝了一個名稱為 bluej 的 script 於安裝目錄
中,你只需要在圖形介面裡雙擊該檔案就可以執行 BlueJ。
在命令列裡,你可以以帶參數或不帶參數的方式啓動 BlueJ:
$ bluej
或者
$ bluej example/people

2010-10-22_105819

圖 1:BlueJ主視窗

開啟一個專案

摘要:要開啟一個專案,請點選功能表中 Project 選單中的 Open。

porno gratis

BlueJ 的專案和標準的 Java 套件一樣,是一個包含專案檔案的目錄。

在啟動BlueJ 後,點選 Project 功能列中的 Open Project...來開啟專案。

此時一些標準的 BlueJ 範例專案已經放置在 examples 的目錄中。
爲了學習這份導讀,開啟專案 people,你可在 BlueJ 安裝目錄下的 examples 目
錄中找到這個專案,開啟專案後你應該可以看到和圖1類似的視窗,這個視窗可能看
起來和圖1不盡相同,但差別應該不大。

建立物件

摘要:要建立一個物件,就從類別功能表中選擇一個建構函數。
BlueJ 有一個很基本的特點就是你不僅能夠執行一個完整的應用程式,而且也能夠直接和單獨一個任何類別的物件互動溝通,並執行物件裡的 public 方法。在 BlueJ中的可執行檔案通常需要事先建立物件,然後呼叫其中一個物件的方法來完成。這種模式在開發一個應用軟體的過程中是十分有幫助的-當你一寫完某個類別時,你就可以單獨測試這個已經完成的類別,這樣就沒有必要一開始就把整個應用程式寫完。
註解:靜態方法不需事先建立一個物件就能夠直接執行,main()是一個靜態方法,
因此我們可以做和 Java 應用程式中相同的事情-透過執行靜態方法 main()的方
式啓動一個應用程式。我們會在後面繼續討論。現在,我們來做一些不能在一般的
Java 環境中所做到的有趣事情。

你可以在下列視窗裡看到幾個圖示(分別標註了 Database 、 Person、 Staff 和Student),這些圖示是代表了能夠在這個應用程式中所能用到的類別。在類別的圖示上按滑鼠右鍵,你會得到一個能夠操作該類別的一個功能表 (Macintosh: ctrl-click1)(如圖2所示)(註:先按滑鼠右鍵,再按Compile)。圖中顯示的操作功能是由 BlueJ 作業環境所提供,並以 new 功能搭配類別中定義的各個建構函數所組成。

2010-11-15_145836

例如我們現在希望建立一個 Staff 物件,所以你應該右鍵單擊 Staff 圖示(會
彈出如圖2中顯示的功能表),這個功能表會顯示了兩個建構函數可以用來建立 Staff
物件:一個有參數,另一個則沒有。在此,先選擇沒有參數的建構函數,對話方塊
將會如圖3所示: 2010-11-15_160831

這個對話方塊要求你輸入一個物件的名字,同時它提供了一個預設的名字
(staff_1)。如果這個預設的名字對我們來說已經足夠了,就按 OK,一個 Staff 物
件就建立完成了。

當一個物件建立完成後,它會被放在視窗底部的物件工作區裏(如圖4)。

2011-01-14_160617

你可能已經注意到 Person 類別被標註爲 <<abstract>>,這表示他是一個抽象類
別,如果你試著從 Person 類別建立物件的話,你將會發現這是不可能的,因為你
不能夠建立一個抽象類別的物件,這就如同 Java 語言定義的規則一樣。

執行

摘要:要執行一個方法,從物件功能表中選擇它。

現在你已經建立了一個物件,你可以執行它的 public 行為 (Java稱這種行為methods)。用右鍵單擊剛剛所建立的物件圖示,就會彈出一個包含物件操作的功能表(如圖5所示)。這個功能表顯示了該物件所有可執行的方法和兩個 BlueJ 環境提供的操作功能(分別是 Inspect 和 Remove ),我們會在後面討論這些功能。現在,讓我們集中注意力在方法上。

2011-01-14_155704

你可以看到功能表裏有兩個方法 getRoom 和 setRoom,分別是設定和傳回這個
教職員的房間編號。試著呼叫 getRoom,只要簡單的從物件功能表裏選擇它,它就會被
執行,此時一個對話方塊會顯示出呼叫的結果(如圖6所示)。在這個範例中,執行
的結果是“(unknown room)”,這是因爲我們還沒有爲這個教職員指定房間編號。

2011-01-14_161250

從父類別繼承而來的方法我們可以在子功能表中找到,在物件彈出功能表的最上方有兩個子功能表,一個包含從 Object 繼承而來的方法,另一個包含從 Person繼承而來的方法(如圖5),你可以透過選擇 Person 子功能表中的函數名稱來呼叫Person 的方法(例如 getName),試試看,你會發現執行結果同樣的奇怪:它出現了“(unknown name)”,這是因爲我們也還沒有給這個人取一個名字。
現在讓我們試著來指定一個房間號碼,以下的操作將顯示如何呼叫有參數的方法(呼叫 getRoom 和 getName 有傳回值,但呼叫時不需參數),選擇功能表中的 setRoom 功能,一個對話方塊會出現提示你輸入參數(如圖7所示)。

2011-01-14_163403

在這個對話方塊的最上端顯示的是被呼叫方法的介面說明(包括註解和語法定義),下面是一個輸入方塊,你可以在裡面輸入參數值,對話方塊中的定義告訴我們需要一個字串類型的參數,接著在輸入方塊裡輸入新的字串類型的房間名字(須包括雙引號),然後點擊 OK。
以上作業到此為止-由於這個方法沒有返回值,所以沒有執行結果對話方塊。現在再一次呼叫 getName 來檢查房間名字是否真的改變了。
你可以開始對物件的建立和方法呼叫稍加練習一下,然後試著呼叫有參數的建構函數和更多的方法直到你對這些操作熟悉爲止。

編輯一個類別

摘要:要編輯類別的程式碼,只要雙擊類別圖示即可。
到目前爲止,我們只討論到了一個物件的介面,現在是探討一下物件內部的時候了,一個類別究竟是如何的實作,可透過在類別功能表裡選擇 Open Editor 來瞭解(提示:右鍵單擊類別圖示就會跳出類別功能表),雙擊類別圖示也可以達到同樣的功能。這份文件對 BlueJ 的編輯器沒有很深入的描述,因為使用 BlueJ 一般來說是相當簡單且直覺化的。關於編輯器的細節描述在後面章節會再說明。現在,打開實作 Staff 類別,找到 getRoom 方法,正如函數名稱所建議的,它會傳回該教職員的房間編號。現在讓我們改變這個方法,在函數傳回值的前面加上一個“room”字首(這樣這個方法就會返回,“room G..4.24”而不是“G..4.24”)。我們透過修改下面這一行來做到這一點。

return room;
改爲
return “room ” + room;
BlueJ 完全支援 Java,所以在類別的實作上並沒有什麽特殊的要求。