Java專案實戰之天天酷跑(二):開始遊戲介面

前文,我們完成了登入介面的搭建。本文將完成開始遊戲介面的搭建,並建立起登入介面與開始遊戲介面的橋樑。實現在輸對使用者名稱和密碼後即可進入開始遊戲介面的功能。

介面功能需求圖:

Java專案實戰之天天酷跑(二):開始遊戲介面

具體要求:

當滑鼠移入開始遊戲按鈕後,按鈕將由暗變亮,滑鼠移開後,按鈕又由亮變暗。

幫助、離開按鈕同理。

另外,當點選離開時,需要實現關閉當前介面的效果。

上程式碼:

package cn。sqc。runday。view;import java。awt。Graphics;import java。awt。Image;import java。awt。event。MouseEvent;import java。awt。event。MouseListener;import java。io。File;import java。io。IOException;import javax。imageio。ImageIO;import javax。swing。ImageIcon;import javax。swing。JFrame;import javax。swing。JLabel;import javax。swing。JOptionPane;import javax。swing。JPanel;import cn。sqc。runday。controller。WindowFrame;public class MainFrame extends JFrame implements MouseListener { //設定窗體的基本屬性 大小 /** * 1。1、設定窗體基本屬性大小 居中 邊框隱藏 預設關閉按鈕 logo圖示 1。2、建立背景面板MainPanel,實現背景圖片功能 2。圖片按鈕功能 */ //2。1建立開始按鈕 幫助按鈕 離開按鈕 元件 JLabel start,help,exit; JPanel MainPanel; public MainFrame() {//無參構造,建立物件。並在main函式中呼叫 //2。2 start = new JLabel(new ImageIcon(“Image/hh1。png”));//ImageIcon:圖示 start。setBounds(350,320,150,40); start。setEnabled(false);//false按鈕為灰色 start。addMouseListener(this); this。add(start); help = new JLabel(new ImageIcon(“Image/hh2。png”)); help。setBounds(350,420,150,40); help。setEnabled(false); help。addMouseListener(this); this。add(help); exit = new JLabel(new ImageIcon(“Image/hh3。png”)); exit。setBounds(350, 520, 150, 40); exit。setEnabled(false); exit。addMouseListener(this); this。add(exit); /**1。實現背景圖片及窗體屬性*/ MainPanel panel = new MainPanel(); this。add(panel); //設定窗體基本屬性大小 居中 邊框隱藏 預設關閉按鈕 logo圖示 this。setSize(1200,730);//大小 this。setLocationRelativeTo(null);//居中 this。setUndecorated(true);//邊框隱藏 this。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);//預設關閉 this。setIconImage(new ImageIcon(“Image/115。png”)。getImage());//logo this。setVisible(true); } public static void main(String[] args) { new MainFrame(); } //2、建立背景面板MainPanel,實現背景圖片功能 class MainPanel extends JPanel{//建立的MainPanel類,在MainFrame中呼叫 Image background; public MainPanel() { try { background = ImageIO。read(new File(“Image/main。png”)); } catch (IOException e) { e。printStackTrace(); } } @Override public void paint(Graphics g) { super。paint(g); g。drawImage(background, 0, 0,1200,730, null); } } //以下五個方法均為新增 implements MouseListener 後,快捷出來的 @Override public void mouseClicked(MouseEvent e) { //滑鼠點選 if(e。getSource()。equals(start)){ //跳轉到下一介面 new WindowFrame()。Start(); //關閉當前介面 //dispose(); }else if(e。getSource()。equals(exit)){ dispose(); }else if(e。getSource()。equals(help)){ JOptionPane。showMessageDialog(null, “有疑問請聯絡開發者:Huey”); } } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent e) { // 滑鼠移入 if(e。getSource()。equals(start)){//e指一個事件。e。getSource()獲取事件 //如果滑鼠移入到(start)元件(圖片按鈕) start。setEnabled(true); }else if(e。getSource()。equals(help)){ help。setEnabled(true); }else if(e。getSource()。equals(exit)){ exit。setEnabled(true); } } @Override public void mouseExited(MouseEvent e) { //滑鼠移出 if(e。getSource()。equals(start)){ start。setEnabled(false); }else if(e。getSource()。equals(help)){ help。setEnabled(false); }else if(e。getSource()。equals(exit)){ exit。setEnabled(false); } }}

測試:

先填補上文的缺憾,

加上

new MainFrame();語句。呼叫我們剛剛寫好的開始遊戲介面。

Java專案實戰之天天酷跑(二):開始遊戲介面

登入介面:

Java專案實戰之天天酷跑(二):開始遊戲介面

單擊確定

Java專案實戰之天天酷跑(二):開始遊戲介面

完美進入我們寫好的登入遊戲介面:

Java專案實戰之天天酷跑(二):開始遊戲介面

現在看開始遊戲按鈕:

Java專案實戰之天天酷跑(二):開始遊戲介面

幫助按鈕:

Java專案實戰之天天酷跑(二):開始遊戲介面

點選幫助按鈕:

Java專案實戰之天天酷跑(二):開始遊戲介面

退出按鈕:

Java專案實戰之天天酷跑(二):開始遊戲介面

點選:

Java專案實戰之天天酷跑(二):開始遊戲介面

大功告成!

最後:如果你現在在學習Java,在整個Java入門的學習過程當中,有遇見任何關於學習方法,學習路線,學習效率等方面的問題,或者缺乏基礎入門的影片教程,Java面試題,學習手冊,開發工具,PDF文件書籍教程,都可以隨時關注並私信我:

Java

,系統自動堅持會發送交流圈子,可以來自行獲取下載。