Day18 - 小專案實戰1 - 猜數字遊戲 | java swing小遊戲
只要你做的是一個專案,就免不了一定會有使用者involve在你的專案中,舉凡網頁、手機App都是如此,因此事件處理便變得格外重要。Java的事件處理是採用"委派模式",委派事件是指當事件發生時,產生事件的物件會把此訊息轉給"事件監聽者(EventLinstener)"來處理。如下圖:(圖片取至網路)接著讓我們來看一下今天要實作的小專案吧~還記得前幾周的猜數字遊戲嗎?讓我們把它視覺化吧!!請設計如以下介面所示的猜數字遊戲當按下送出,會提示使用者是否猜對,並可點選"我想看答案"按鈕,查看正確答案,也可選擇清除,清空輸入框中的資料。並在當...
只要你做的是一個專案,就免不了一定會有使用者involve在你的專案中,舉凡網頁、手機App都是如此,因此事件處理便變得格外重要。
Java的事件處理是採用"委派模式",委派事件是指當事件發生時,產生事件的物件會把此訊息轉給"事件監聽者(Event Linstener)"來處理。如下圖:(圖片取至網路)
接著讓我們來看一下今天要實作的小專案吧~還記得前幾周的猜數字遊戲嗎? 讓我們把它視覺化吧!!
請設計如以下介面所示的猜數字遊戲
當按下送出,會提示使用者是否猜對,並可點選"我想看答案"按鈕,查看正確答案,也可選擇清除,清空輸入框中的資料。
並在當使用者輸入非數字時跳出錯誤提示訊息。
看過題目後,先別急著寫程式,我們來想一下它的運作流程。跟之前的console程式不同,流程中加入了一些與使用者互動的環節,我們可以把它轉換成以下的流程圖。
轉換為實際程式碼囉~須注意要使用Java swing以及awt需要import對應的javax.swing與java.awt類別。另外,還記得昨天的元件架構嗎? 當我們new了一個Jcomponent後,需要把它add進frame中。
建立兩個檔案GuessGame.java與Guess.java,Guess.java將作為我們的專案的進入點,也就是主函式所在的地方。
GuessGame.java
import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.*; public class GuessGame { private JFrame frame; private JLabel lb1, lb2,lb3; private JTextField tf1; private JButton btn1...