您的位置 首页 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面试题,学习手册,开发工具,PDF文档书籍教程,都可以随时关注并私信我: Java ,系统自动坚持会发送交流圈子,可以来自行获取下载。

文章来源:智云一二三科技

文章标题:Java项目实战之天天酷跑(二):开始游戏界面

文章地址:https://www.zhihuclub.com/184209.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图