自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

生成Netbeans 6.5 GUI應(yīng)用程序簡(jiǎn)介

開(kāi)發(fā) 后端
本入門(mén)教程講述如何創(chuàng)建簡(jiǎn)單圖形用戶界面以及如何添加簡(jiǎn)單后端功能。尤其介紹了如何為 Swing 窗體中的按鈕和字段行為編寫(xiě)代碼。

我們將完成Netbeans 6.5 GUI 布局和設(shè)計(jì)工作并添加幾個(gè)按鈕和文本字段。這些文本字段用于接收用戶輸入和顯示程序輸出。這些按鈕用于啟動(dòng)前端的內(nèi)置功能。我們創(chuàng)建的應(yīng)用程序是一個(gè)非常簡(jiǎn)單但功能完善的計(jì)算器。

有關(guān)更全面的Netbeans 6.5 GUI 生成器設(shè)計(jì)功能指南(包括各種設(shè)計(jì)功能的視頻演示),請(qǐng)參見(jiàn)在Netbeans 6.5IDE 中設(shè)計(jì) Swing GUI。 

要學(xué)完本教程,您需要具備以下軟件和資源。

軟件或資源 要求的版本
NetBeans IDE 版本 6.5
Java Development Kit (JDK) 版本 6 或
版本 5

練習(xí) 1:創(chuàng)建項(xiàng)目

第一步是為要開(kāi)發(fā)的應(yīng)用程序創(chuàng)建 IDE 項(xiàng)目。我們將項(xiàng)目命名為 NumberAddition。

  1. 選擇“文件”>“新建項(xiàng)目”?;蛘?,也可以單擊 IDE 工具欄中的“新建項(xiàng)目”圖標(biāo)。
  2. 在“類別”窗格中,選擇 "Java" 節(jié)點(diǎn)。在“項(xiàng)目”窗格中,選擇“Java 應(yīng)用程序”。單擊“下一步”。
  3. 在“項(xiàng)目名稱”字段中鍵入 NumberAddition,然后指定項(xiàng)目位置路徑(例如,在主目錄中)。
  4. (可選)選中“使用專用文件夾存儲(chǔ)庫(kù)”復(fù)選框,并指定庫(kù)文件夾的位置。有關(guān)此選項(xiàng)的詳細(xì)信息,請(qǐng)參見(jiàn)共享項(xiàng)目庫(kù)。
  5. 確?!霸O(shè)置為主項(xiàng)目”復(fù)選框處于選中狀態(tài)。
  6. 如果已選中“創(chuàng)建主類”復(fù)選框,請(qǐng)取消選中該復(fù)選框。
  7. 單擊“完成”。
練習(xí) 2:生成前端

要繼續(xù)生成界面,我們需要?jiǎng)?chuàng)建一個(gè) Java 容器,以便放置所需的其他 GUI 組件。在此步驟中,我們將使用 JFrame 組件創(chuàng)建一個(gè)容器。我們將該容器放在新包中,該包將顯示在“源包”節(jié)點(diǎn)中。

創(chuàng)建 JFrame 容器

  1. 在“項(xiàng)目”窗口中,右鍵單擊 "NumberAddition" 節(jié)點(diǎn)并選擇“新建”>“JFrame 窗體”。
  2. 在“類名”中輸入 NumberAdditionUI。
  3. 在“包”中輸入 my.numberaddition。
  4. 單擊“完成”。

IDE 將在 NumberAddition 應(yīng)用程序中創(chuàng)建 NumberAdditionUI 窗體和 NumberAdditionUI 類,然后在 GUI 生成器中打開(kāi) NumberAdditionUI 窗體。my.NumberAddition 包將替代缺省包。

添加組件:生成前端

接下來(lái),我們將通過(guò)組件面板使用 JPanel 填充應(yīng)用程序前端。然后,添加三個(gè) JLabel、三個(gè) JTextField 和三個(gè) JButton。如果以前沒(méi)有用過(guò) GUI 生成器,您可能會(huì)發(fā)現(xiàn)在 NetBeans IDE 中設(shè)計(jì) Swing GUI 教程中有關(guān)組件放置的信息非常有用。

在拖動(dòng)并放置完上述組件后,JFrame 應(yīng)類似于以下屏幕快照。

包含三個(gè) JLabel屏幕快照

如果在 IDE 右上角未看到“組件面板”窗口,則選擇“窗口”>“組件面板”。

  1. 先從組件面板中選擇一個(gè) JPanel,然后將其拖放到 JFrame 上。
  2. 在突出顯示該 JPanel 時(shí),轉(zhuǎn)至“屬性”窗口,然后單擊 "Border" 旁邊的省略號(hào) (...) 按鈕以選擇邊框樣式。
  3. 在 "Border" 對(duì)話框中,從列表中選擇“帶標(biāo)題的邊框”,然后在“標(biāo)題”字段中鍵入 Number Addition。單擊“確定”保存更改并退出該對(duì)話框。
  4. 現(xiàn)在,將會(huì)看到一個(gè)標(biāo)題為 Number Addition 的空 JFrame,它與屏幕快照類似。按照上面的屏幕快照所示,添加三個(gè) JLabel、三個(gè) JTextField 和三個(gè) JButton。
重命名組件

在該步驟中,我們將重命名剛添加到 JFrame 中的這些組件的顯示文本。

  1. 雙擊 jLabel1 并將文本屬性更改為 First Number。
  2. 雙擊 jLabel2 并將文本更改為 Second Number。
  3. 雙擊 jLabel3 并將文本更改為 Result。
  4. 刪除 jTextField1 中的樣例文本??赏ㄟ^(guò)以下方法使顯示文本處于可編輯狀態(tài):?jiǎn)螕粑谋咀侄危缘绕?,然后再次單擊文本字段??赡苄枰獙?jTextField1 調(diào)整為原始大小。對(duì)于 jTextField2jTextField3,重復(fù)此步驟。
  5. jButton1 顯示文本重命名為 Clear。(可以通過(guò)右鍵單擊按鈕并選擇“編輯文本”來(lái)編輯按鈕的文本?;蛘?,也可以單擊按鈕,稍等片刻,然后再次單擊按鈕。)
  6. jButton2 顯示文本重命名為 Add。
  7. jButton3 顯示文本重命名為 Exit

現(xiàn)在,完成的 GUI 應(yīng)類似于以下屏幕快照:

完成的應(yīng)用程序屏幕快照

練習(xí) 3:添加功能

在本練習(xí)中,我們將為 "Add"、"Clear" 和 "Exit" 按鈕添加功能。jTextField1jTextField2 框用于用戶輸入,jTextField3 用于程序輸出;我們要?jiǎng)?chuàng)建的應(yīng)用程序是一個(gè)非常簡(jiǎn)單的計(jì)算器。我們現(xiàn)在就開(kāi)始吧。

使 "Exit" 按鈕正常工作

要為這些按鈕添加功能,必須為每個(gè)按鈕指定事件處理程序以響應(yīng)事件。在本示例中,我們需要了解何時(shí)通過(guò)鼠標(biāo)單擊或鍵盤(pán)按下了按鈕。因此,我們使用 ActionListener 來(lái)響應(yīng) ActionEvent。

  1. 右鍵單擊 "Exit" 按鈕。從彈出式菜單中選擇“事件”> "Action" > "ActionPerformed"。請(qǐng)注意,該菜單中還包含很多其他可響應(yīng)的事件!在選擇 actionPerformed 事件時(shí),IDE 自動(dòng)在 "Exit" 按鈕中添加 ActionListener,并生成一種處理程序方法以處理偵聽(tīng)程序的 actionPerformed 方法。
  2. IDE 將打開(kāi)“源代碼”窗口并滾動(dòng)至某一位置,在此將實(shí)現(xiàn)按下按鈕(通過(guò)鼠標(biāo)單擊或鍵盤(pán))時(shí)希望其執(zhí)行的操作。源代碼窗口應(yīng)包含以下行:
    1. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {  
    2.     //TODO: Add your handling code here:  
    3.                 } 
  3. 現(xiàn)在,我們將為希望 "Exit" 按鈕執(zhí)行的操作添加代碼。必須在以上代碼中鍵入 System.exit(0); 以替換 TODO 行。完成的 "Exit" 按鈕代碼應(yīng)如下所示:
    1. private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {  
    2.     System.exit(0);  
    3.                 }  
    使 "Clear" 按鈕正常工作
  1. 單擊工作區(qū)域頂部的“設(shè)計(jì)”標(biāo)簽以返回到窗體設(shè)計(jì)區(qū)域
  2. 右鍵單擊 "Clear" 按鈕 (jButton1)。從彈出式菜單中選擇“事件”> "Action" > "actionPerformed"。
  3. "Clear" 按鈕用于刪除 jTextField 中的所有文本。為此,將添加一些與以上代碼類似的代碼。完成的源代碼應(yīng)如下所示:
    1. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){  
    2.     jTextField1.setText("");  
    3.     jTextField2.setText("");  
    4.     jTextField3.setText("");  
    5.                 } 

上面的代碼將所有三個(gè) JTextField 中的文本更改為空,實(shí)際就是使用空白覆蓋現(xiàn)有文本。

使 "Add" 按鈕正常工作

"Add" 按鈕用于執(zhí)行三個(gè)操作:

  1. 它接受 jTextField1jTextField2 中的用戶輸入,并將輸入類型由字符串轉(zhuǎn)換為浮點(diǎn)。
  2. 然后,它將兩個(gè)數(shù)相加;最后,
  3. 將兩個(gè)數(shù)之和的類型轉(zhuǎn)換為字符串,并將其放在 TextField3 中。
我們現(xiàn)在就開(kāi)始吧!
  1. 單擊工作區(qū)域頂部的“設(shè)計(jì)”標(biāo)簽以返回到窗體設(shè)計(jì)區(qū)域。
  2. 右鍵單擊 "Add" 按鈕 (jButton2)。從彈出式菜單中選擇“事件”> "Action" > "actionPerformed"
  3. 我們將添加一些代碼以使 "Add" 按鈕正常工作。完成的源代碼應(yīng)如下所示:
    1. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt){  
    2.     // First we define float variables.  
    3.     float num1, num2, result;  
    4.     // We have to parse the text to a type float.  
    5.     num1 = Float.parseFloat(jTextField1.getText());  
    6.     num2 = Float.parseFloat(jTextField2.getText());  
    7.     // Now we can perform the addition.  
    8.     result = num1+num2;  
    9.     // We will now pass the value of result to jTextField3.  
    10.     // At the same time, we are going to  
    11.     // change the value of result from a float to a string.  
    12.     jTextField3.setText(String.valueOf(result));  }

程序已創(chuàng)建完畢,我們現(xiàn)在可以生成并運(yùn)行該程序以查看其運(yùn)行情況。

練習(xí) 4:運(yùn)行程序

在 IDE 中運(yùn)行程序:

  1. 選擇“運(yùn)行”>“運(yùn)行主項(xiàng)目”。
  2. 如果顯示的窗口通知您項(xiàng)目 NumberAddition 沒(méi)有設(shè)置主類,則應(yīng)在同一窗口中選擇 "my.NumberAddition.NumberAdditionUI" 作為主類,然后單擊“確定”按鈕。

在 IDE 外部運(yùn)行程序:

  1. 選擇“運(yùn)行”>“清理并生成主項(xiàng)目”(Shift-F11) 以生成應(yīng)用程序 JAR 文件。
  2. 通過(guò)使用系統(tǒng)的文件資源管理器或文件管理器,導(dǎo)航至 NumberAddition/dist 目錄。
  3. 雙擊 NumberAddition.jar 文件。

幾秒鐘后,將會(huì)啟動(dòng)應(yīng)用程序。

注意:如果在雙擊 JAR 文件時(shí)沒(méi)有啟動(dòng)應(yīng)用程序,請(qǐng)參見(jiàn)本文以了解在操作系統(tǒng)中設(shè)置 JAR 文件關(guān)聯(lián)的相關(guān)信息。

也可以通過(guò)命令行啟動(dòng)應(yīng)用程序。

通過(guò)命令行啟動(dòng)應(yīng)用程序:

  1. 在系統(tǒng)上,打開(kāi)命令提示符或終端窗口。
  2. 在命令提示符中,轉(zhuǎn)至 NumberAddition/dist 目錄。
  3. 在命令行中,鍵入以下語(yǔ)句:
    1. java -jar  NumberAddition.jar 
事件處理的工作方式

本教程已介紹了如何響應(yīng)簡(jiǎn)單的按鈕事件。還可以讓?xiě)?yīng)用程序響應(yīng)很多其他事件。IDE 可以幫助您查找 GUI 組件可處理的可用事件列表:

  1. 返回至編輯器中的 NumberAdditionUI.java 文件。單擊“設(shè)計(jì)”標(biāo)簽以在 GUI 生成器中查看 GUI 布局。
  2. 右鍵單擊任何 GUI 組件,然后從彈出式菜單中選擇“事件”。目前,僅瀏覽菜單以查看其中的內(nèi)容,而無(wú)需選擇任何內(nèi)容。
  3. 或者,也可以從“窗口”菜單中選擇“屬性”。在“屬性”窗口中,單擊“事件”標(biāo)簽。在“事件”標(biāo)簽中,可以查看和編輯與當(dāng)前活動(dòng) GUI 組件關(guān)聯(lián)的事件處理程序。
  4. 可以讓?xiě)?yīng)用程序響應(yīng)按鍵、鼠標(biāo)單擊、雙擊和三擊、鼠標(biāo)移動(dòng)、窗口大小以及焦點(diǎn)變化??梢詮摹笆录辈藛沃袨樗羞@些內(nèi)容生成事件處理程序。最常用的事件是 Action 事件。(要了解事件處理的最佳做法,請(qǐng)參見(jiàn) Sun 的 Java 事件教程。)

事件處理是如何工作的呢?每次從“事件”菜單中選擇事件時(shí),IDE 都會(huì)自動(dòng)創(chuàng)建一個(gè)所謂的事件偵聽(tīng)程序,并將其與組件關(guān)聯(lián)。請(qǐng)完成以下步驟以查看事件處理的工作方式。

  1. 返回至編輯器中的 NumberAdditionUI.java 文件。單擊“源”標(biāo)簽以查看 GUI 源代碼。
  2. 向下滾動(dòng)并注意剛實(shí)現(xiàn)的方法 jButton1ActionPerformed()jButton2ActionPerformed()jButton3ActionPerformed()。這些方法稱為事件處理程序。
  3. 現(xiàn)在,滾動(dòng)至名為 initComponents() 的方法。如果未看到該方法,請(qǐng)查找顯示 Generated Code 的行;單擊該行旁邊的 + 號(hào)以展開(kāi)折疊的 initComponents() 方法。
  4. 首先,請(qǐng)注意 initComponents() 方法周圍的藍(lán)色塊。此代碼是由 IDE 自動(dòng)生成的,無(wú)法對(duì)其進(jìn)行編輯。
  5. 現(xiàn)在,瀏覽 initComponents() 方法。此外,該方法還包含用于初始化 GUI 組件并將其放置在窗體上的代碼。在“設(shè)計(jì)”視圖中放置和編輯組件時(shí),將會(huì)自動(dòng)生成和更新該代碼。
  6. initComponents() 中,向下滾動(dòng)至顯示以下內(nèi)容的位置:
    1. jButton3.setText("Exit");  
    2. jButton3.addActionListener(new java.awt.event.ActionListener() {  
    3.     public void actionPerformed(java.awt.event.ActionEvent evt) {  
    4.            jButton3ActionPerformed(evt);  
    5.     }  
    6.             }); 

    這是在 GUI 組件中添加事件偵聽(tīng)程序?qū)ο蟮奈恢?;在本示例中,將?jButton3 中注冊(cè) ActionListener。ActionListener 接口具有一個(gè) actionPerformed 方法,該方法采用 ActionEvent 對(duì)象(只需調(diào)用 jButton3ActionPerformed 事件處理程序即可實(shí)現(xiàn))作為其參數(shù)?,F(xiàn)在,該按鈕將偵聽(tīng) action 事件。每次按下該按鈕時(shí),都會(huì)生成 ActionEvent 并將其傳遞給偵聽(tīng)程序的 actionPerformed 方法,而該方法又會(huì)執(zhí)行在該事件的事件處理程序中提供的代碼。

一般來(lái)說(shuō),要能夠進(jìn)行響應(yīng),每個(gè)交互式 GUI 組件需要在事件偵聽(tīng)程序中進(jìn)行注冊(cè),并且需要實(shí)現(xiàn)事件處理程序。正如您所看到的一樣,NetBeans IDE 可處理關(guān)聯(lián)事件偵聽(tīng)程序的工作,因此,您可以集中精力實(shí)現(xiàn)應(yīng)由事件觸發(fā)的實(shí)際業(yè)務(wù)邏輯。

【編輯推薦】

  1. 讓Eclipse和NetBeans共享同一個(gè)項(xiàng)目
  2. NetBeans 6.5 界面美化與字體設(shè)置
  3. Eclipse還是Netbeans
  4. 如何在NetBeans中連接MySQL數(shù)據(jù)庫(kù)
  5. 八大技術(shù)牛人點(diǎn)評(píng)NetBeans 6.5
責(zé)任編輯:彭凡 來(lái)源: netbeans.org
相關(guān)推薦

2009-05-27 14:31:53

NetBeansEclipsPHP

2011-05-24 10:30:31

PythonNetBeans ID

2011-06-14 14:57:06

QT Python GUI

2011-03-31 13:15:18

BlackBerry

2009-06-09 16:01:36

NetBeansIDEjava

2023-12-10 14:43:30

PythonGUIeel

2018-12-03 08:25:24

2019-02-11 09:35:04

Python應(yīng)用程序Tornado

2023-10-07 09:37:53

2010-02-03 15:58:53

Python應(yīng)用程序

2009-06-11 09:24:59

NetBeans入門(mén)

2022-09-29 10:11:13

命令Arch LinuxGUI

2012-11-28 11:14:39

IBMdW

2009-12-30 15:47:14

ADO 記錄集

2009-06-09 11:29:17

NetBeansjava

2010-02-26 11:05:04

Linux Mono

2021-05-26 13:34:21

Windows 10Linux GUI應(yīng)用程序

2020-09-23 14:33:01

Golang桌面開(kāi)發(fā)GUI

2012-06-07 09:15:14

ibmdw

2012-05-29 10:04:08

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)