- Java語言GUI程序設計
- 趙滿來
- 2866字
- 2019-12-06 14:22:02
2.1 快速設計簡單加法計算器程序
本節先從設計一個簡單的加法計算器程序開始學習開發Java GUI程序。
2.1.1 創建Java GUI項目
在NetBeans IDE中開發程序時,使用項目管理程序中的各類文件,其中包含一組Java源程序文件,與其關聯的元數據,以及特定于項目的屬性文件等。
創建新的Java GUI應用程序項目的一般操作步驟如下。
(1)在NetBeans IDE主界面中選擇“文件”菜單中的“新建項目”菜單項,或者單擊位于IDE主工具欄(在菜單欄之下)中的“新建項目”圖標,出現“新建項目”對話框(見圖2.1)。
(2)在“類別”窗格中選擇Java節點,在“項目”窗格中選擇“Java應用程序”(見圖2.1)。單擊“下一步”按鈕。

圖2.1 新建Java應用程序項目
(3)在“項目名稱”字段中輸入項目名稱,本例取名“NumAddCalculator”。然后指定項目位置,本例指定為“D:\Java0GuiPrjs”(見圖2.2)。

圖2.2 指定項目名稱和位置
(4)將“使用專用文件夾存儲庫”復選框保留為取消選中狀態(見圖2.2)。
(5)單擊“創建主類”復選框,設置為取消選中狀態(未打√)。
(6)單擊“完成”按鈕。
2.1.2 創建Java GUI程序窗口界面
為Java GUI程序設計和創建一個窗口的操作步驟如下。
(1)在NetBeans IDE主界面中選擇“文件”菜單中的“新建文件”菜單項,或者單擊位于IDE主工具欄中的“新建文件”圖標,出現“新建文件”對話框(見圖2.3)。

圖2.3 新建Java文件
(2)在對話框中,“類別”選擇Swing GUI窗體,文件類型選擇“JFrame窗體”(見圖2.3)。單擊“下一步”按鈕。
(3)在“New JFrame窗體”向導頁的類名右側文本框中輸入“NumberAddition”,單擊“完成”按鈕。NetBeans IDE自動創建了一個程序窗口,源代碼編輯窗口切換為設計視圖(見圖2.4),NetBeans IDE窗口的右邊窗格出現“組件面板”和“屬性”窗口。

圖2.4 NetBeans IDE的設計視圖
(4)單擊組件面板“Swing控件”組下的圖標,鼠標指針移到設計視圖的窗體中適當位置處單擊。接著按空格鍵,輸入文字“第一個數:”,按Enter鍵確定。
(5)單擊組件面板“Swing控件”組下的圖標,鼠標指針移到步驟(4)創建的“第一個數:”組件右側,當設計窗口頂行幫助欄出現“已移至距左側組件的較小首選位置,基線與另一個組件對齊”提示時(見圖2.5),單擊鼠標。接著按空格鍵,清除其中的文字并輸入11個空格,按Enter鍵確定。

圖2.5 在程序GUI設計視圖的窗體中創建文本字段組件
(6)單擊組件面板“Swing控件”組下的圖標,鼠標指針移到步驟(4)創建的“第一個數:”組件下方,當設計窗口頂行幫助欄出現“與另一個組件的左邊對齊,已移至距上方組件的較大首選位置”提示時,單擊鼠標。接著按空格鍵,輸入文字“第二個數:”,按Enter鍵確定。
(7)單擊組件面板“Swing控件”組下的圖標,鼠標指針移到“第二個數:”組件右側及步驟(5)創建的第一個文本字段下方,當設計窗口頂行幫助欄出現“已移至距左側組件的較小首選位置,基線與另一個組件對齊”提示時,單擊鼠標。接著按空格鍵,清除其中的文字并輸入11個空格,按Enter鍵確定。
(8)重復步驟(6),在第三行創建標簽組件“計算結果:”;重復步驟(7),在“計算結果:”組件右側創建文本字段組件。
(9)單擊組件面板“Swing控件”組下的圖標,鼠標指針移到程序窗體中“計算結果:”組件下方稍靠右,且設計窗口頂行幫助欄出現“縮進組件,已移至距上方組件的較小首選位置”提示時,單擊鼠標。接著按空格鍵,輸入文字“相加”,按Enter鍵確定。
鼠標左鍵在“相加”按鈕上按住,垂直向下拖動到合適位置時松開鼠標左鍵。
(10)單擊組件面板“Swing控件”組下的圖標,鼠標指針移到程序窗體中“相加”按鈕右側,當設計窗口頂行幫助欄出現“已移至距左側組件的較大首選位置,基線與另一個組件對齊”提示時,單擊鼠標。接著按空格鍵,輸入文字“清除”,按Enter鍵確定。
鼠標左鍵在“清除”按鈕上按住,水平拖動直到設計窗口頂行幫助欄出現“與另一個組件的右邊對齊,基線與另一個組件對齊”時松開鼠標左鍵。
完成上述操作后,就創建好了加法計算器程序的圖形用戶界面(見圖2.6)。單擊設計窗口工具欄中的“預覽設計”按鈕,出現了加法計算器程序界面(見圖2.6)。

圖2.6 簡單加法計算器程序設計視圖及預覽窗口
2.1.3 設置Java GUI界面組件的屬性
從圖2.6左下角導航器窗口可見,所有組件都是默認名字。為了適應程序的功能并方便程序設計,應該設置和修改組件的屬性。通過改變組件屬性值,可以改變窗口等組件的外觀和行為。例如,可以修改窗口標題欄上的文字、窗口標題欄右邊是否顯示“最大化”按鈕及可否改變窗口大小等屬性。
以下對簡單加法計算器程序進行屬性設置。
(1)單擊選擇“第一個數:”右側的文本字段組件,在NetBeans IDE窗口右邊的屬性窗口中單擊“代碼”標簽,修改“變量名稱”右側文本框中的內容為“jTextFieldNum1”(見圖2.7)。

圖2.7 設置組件屬性窗口
(2)使用與步驟(1)相同的操作,修改“第二個數:”右側的文本字段組件的變量名稱為TextFieldNum2,“計算結果:”右側的文本字段組件的變量名稱為jTextFieldResult。
(3)單擊選擇“計算結果:”右側的文本字段組件,在NetBeans IDE窗口右邊的屬性窗口中單擊“屬性”標簽,單擊editable屬性右側的復選框以取消復選狀態,這樣可以禁止用戶在該文本字段中輸入和修改內容。
(4)使用與步驟(1)相同的操作,修改“相加”按鈕的變量名稱為jButtonCalc,修改“清除”按鈕的變量名稱為jButtonClear。
(5)在導航器窗口右擊節點(窗口組件),在彈出的快捷菜單中選擇“屬性”菜單項。在彈出的“[JFrame]-屬性”窗口的“屬性”選項卡中,在title屬性列的右側文本框中輸入“簡單加法計算器”。
2.1.4 設計事件處理代碼
單擊NetBeans IDE主界面工具欄中的(運行項目)按鈕,彈出如圖2.8所示的對話框,在此對話框中選擇簡單加法計算器程序項目的主類為NumberAddition,單擊“確定”按鈕。之后在桌面左上角出現該程序的運行窗口(見圖2.9),可以在“第一個數:”和“第二個數:”右邊的文本框中輸入數字,但當單擊“相加”和“清除”按鈕時程序并未按照預想工作。
單擊按鈕時系統會產生按鈕單擊事件,對此需要設計事件響應程序代碼,設計方法如下。
(1)在設計窗口單擊“相加”按鈕,在屬性窗口中單擊“事件”標簽。單擊actionPerformed行最右端的…按鈕,在彈出的“actionPerformed的處理程序”對話框中單擊“添加”按鈕,在彈出窗口中輸入新處理程序名稱為calcAdd(見圖2.10),單擊“確定”按鈕關閉輸入窗口,單擊“確定”按鈕關閉“actionPerformed的處理程序”對話框。

圖2.8 配置項目運行主類

圖2.9 簡單加法計算器程序運行窗口

圖2.10 定義事件處理程序
(2)NetBeans IDE自動切換到“源”代碼窗口,在114行尾端按Enter鍵(見圖2.11)。接著輸入以下代碼:
double num1 = Double.parseDouble(jTextFieldNum1.getText()); double num2 = Double.parseDouble(jTextFieldNum2.getText()); double result = num1+num2; jTextFieldResult.setText(result+"");
完成上述步驟后,再次運行程序,輸入兩個數字后單擊“相加”按鈕,則在“計算結果:”右側文本框中顯示出兩數之和。
(3)單擊NetBeans IDE界面中部的“設計”按鈕,切換到設計視圖。選擇“清除”按鈕組件,重復步驟(1)和(2),為“清除”按鈕設計鼠標單擊事件監聽器,新處理程序名稱為textClear,輸入的代碼如下。
jTextFieldNum1.setText(""); jTextFieldNum2.setText(""); jTextFieldResult.setText("");

圖2.11 編輯事件處理程序代碼窗口
完成步驟(3)后,再次運行程序,輸入兩個數字后單擊“相加”按鈕,則在“計算結果:”右側文本框中顯示出兩數之和;單擊“清除”按鈕,則三個文本框中內容全部清除。
通過以上操作,完成了第一個簡單Java GUI程序的設計,程序的大部分代碼都是由NetBeans IDE自動生成的。仔細閱讀程序代碼,發現有很多陌生的東西,本書后面各章節會逐步介紹。
- Node.js Design Patterns
- Practical Internet of Things Security
- Learning SAP Analytics Cloud
- The HTML and CSS Workshop
- R大數據分析實用指南
- Python機器學習之金融風險管理
- 深度探索Go語言:對象模型與runtime的原理特性及應用
- 從零開始學Android開發
- Android高級開發實戰:UI、NDK與安全
- Java編程指南:語法基礎、面向對象、函數式編程與項目實戰
- 創新工場講AI課:從知識到實踐
- Building Apple Watch Projects
- Microsoft Windows Identity Foundation Cookbook
- Java Web應用開發
- HTML5+CSS+JavaScript深入學習實錄