JAVA游戏源码:天天酷跑

news/2025/1/16 1:55:07/文章来源:https://www.cnblogs.com/java-bigdata/p/18341129

学习java朋友们,福利来了,今天小编给大家带来了一款天天酷跑源码。注意:此源码仅供学习使用!!

 

 

 

源码搭建和讲解

启动main入口:

//************************************************************************
// ************完整源码移步: gitee典康姆/hadluo/java_game01.git *********
//************************************************************************import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;/*** * @author Huey* @date 2020-11-16* 登录界面:用户名输入框  密码输入框  登录取消按钮 功能**/
public class LoginFrame extends JFrame{//用户名变量(文本)JLabel userLabel;//用户名输入框(文本输入框)JTextField userField;//密码变量(文本)JLabel userLabel2;//密码输入框(文本输入框)JPasswordField userField2;//登录按钮、取消按钮(按钮)JButton Login,Cancel;public LoginFrame() {//直接 alt / (无参构造)	userLabel = new JLabel("用户名");	//设置字体userLabel.setFont(new Font("微软雅黑",Font.BOLD,18));				userLabel2 = new JLabel("密  码");userLabel2.setFont(new Font("微软雅黑",Font.BOLD,18));//布局方式:绝对布局userLabel.setBounds(20, 220, 100, 30);//x位置,y位置,所占显示空间的大小this.add(userLabel);//将用户名这三个字添加到登录界面上,以下同理userLabel2.setBounds(20, 280, 100, 30);this.add(userLabel2);//用户名输入框userField = new JTextField();userField.setBounds(80, 220, 100, 30);//设置输入框凹陷效果userField.setBorder(BorderFactory.createLoweredBevelBorder());//设置输入框背景透明userField.setOpaque(false);this.add(userField);userField2 = new JPasswordField();userField2.setBounds(80, 280, 100, 30);userField2.setBorder(BorderFactory.createLoweredBevelBorder());userField2.setOpaque(false);this.add(userField2);//登录按钮Login = new JButton("登录");Login.setBounds(45,350,60,36);//Login.setBackground(new Color(44,22,44));//背景色//Login.setForeground(Color.BLUE);//前景色		//绑定登录按钮的事件监听Login.addActionListener(new ActionListener() {//ActionListener alt /@Overridepublic void actionPerformed(ActionEvent e) {//System.out.println("点击登录按钮");//获取用户名输入框的内容String userName = userField.getText();String passWord = userField2.getText();//横杠原因:方法太老了,不推荐用if("hadluo".equals(userName) && "123".equals(passWord)){//登录成功JOptionPane.showMessageDialog(null, "欢迎"+userName+"来到天天酷跑游戏");//跳转到下一界面new MainFrame();//关闭当前界面dispose();}else if("".equals(userName) || "".equals(passWord)){//不能为空JOptionPane.showMessageDialog(null, "用户名 / 密码不能为空,请重新输入!");}else{JOptionPane.showMessageDialog(null, "用户名 / 密码输入错误,请重新输入!");}}});this.add(Login);//取消按钮Cancel = new JButton("取消"); Cancel.setBounds(135,350,60,36);this.add(Cancel);Cancel.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubdispose();}});//创建背景面板,并添加到窗体上去LoginPanel panel = new LoginPanel();this.add(panel);	//设置登录界面的基本属性this.setSize(900,530);this.setLocationRelativeTo(null);//位置居中this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setUndecorated(true);//设置窗体的Logo图标this.setIconImage(new ImageIcon("Image/115.png").getImage());//存储图片this.setVisible(true);}//测试用的main方法       main + Alt /public static void main(String[] args) {new LoginFrame();}class LoginPanel extends JPanel{//画板//背景图片变量Image background;//------ctr shift + o 导包public LoginPanel() {//-----alt / 回车 构造方法		在{后双击,显示作用域//读取图片文件,赋值给background变量try {//-----虽然不大可能,但也做好吃饭噎死的准备background = ImageIO.read(new File("Image/login.jpg"));//----read参数为File类型} catch (IOException e) {//-------捕获异常信息// 打印异常日志信息e.printStackTrace();}}//绘制方法@Overridepublic void paint(Graphics g) {super.paint(g);//绘制背景图片g.drawImage(background, 0, 0,900,530, null);//900,530为宽高}}
}
//throws ......抛异常,将下面的异常向上抛,交给上级:不建议   

运行工具

代码是一个普通的java工程,我们直接导入到eclipse或者idea就可以运行了。

 

结尾语

我是分享好物+教程+源码 的老罗,欢迎关注,更多精品源码!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/777358.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零开始的JAVAday29~day35

后续语法if()语法 若满足()中的语法,则执行后面的语句。循环for(a;b;c)和while(c)语法 for(a;c;b)语法意思为在循环前进行a语句每次循环结束后进行b语法,若满足c语句则再次循环。whlie(c)循环若满足c条件则循环。

Unittest框架的介绍及使用

介绍 基本概念 ​ unittest是Python自带的一个单元测试框架, 它可以做单元测试, 也能用于编写和运行重复的测试工作。它给自动化测试用例开发和执行提供了丰富的断言方法, 判断测试用例是否通过, 并最终生成测试结果. 四大组件test case:就是我们的测试用例,unittest中提供了…

Docker常用容器安装

docker安装与卸载以及使用docker安装常用容器Docker安装 安装docker(centos) docker引擎安装官网地址:Install Docker Engine on CentOS | Docker Documentation 手动安装 # 卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ doc…

探究spring中如何如何从ioc中拿到对象,ioc中都存了什么

引言ApplicationContext ioc = new ClassPathXmlApplicationContext("beans.xml");Monster monster01 = (Monster)ioc.getBean("monster01");这是我们接触spring时接触的第一行代码,我们只是习惯性的通过ioc.getBean获取我们需要的对象,但是你有没有想过…

服务器性能分析软件「 WGCLOUD 」完整功能介绍

WGCLOUD是一款国产开源的服务器状态性能监测软件,免费高效,轻量实用,部署简单,上手操作容易,颜值在线,更好的是它具有极低的资源占用WGCLOUD官网下载地址:www.wgstart.com WGCLOUD可以支持哪些操作平台,如下: Linux:Debian,RedHat,CentOS,Ubuntu,Fedora,SUSE,麒…

Day13

逻辑运算符: &&都真为真 ||一真为真 !真为假假为真 短路运算:若两个运算中前一个为假,则不会执行后一个运算 二进制运算 A&B 相同为本,不同为0 A/B 相同为本,不同为1 A^B 相同为0 不同为1 ~B取反 位运算效率最高 << 左移*2 >>右…

Linux 防火墙系统

iptables 和 nftables iptables 是 Linux 中最常用的防火墙工具,它通过 Linux 内核中的 netfilter 模块提供的 Hook 来管理网络数据包的处理和转发。 nftables 是 iptables 的代替品,在 Debian 10、Ubuntu 22、CentOS 8 中已经由 iptables 切换到了 nftables。 iptables 的操…

[计算机网络]HTTPS

HTTP 与 HTTPS 有哪些区别? HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。 HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。…

腾讯云资源分页获取不全问题

如下,之前把offset值当成页码来使用了。偏移量实际是从第几条开始。 第一页的是从0*页码开始,偏移0*页码数 第二页是从1*页码开始,偏移1*页码数 依此类推。所以偏移量这里,当时只是填写页码,是不对的params = { "ZoneId": ZoneId, "Offset": cu…

[笔记](更新中)KMP算法 - 下(例题)

CF1200E Compress Words ~ 洛谷给定\(n\)个字符串,请按下面的规则,从左往右依次合并\(n\)个字符串,成为\(1\)个字符串:将\(A,B\)合并,就是找到最大的\(i\),使得\(A\)的长为\(i\)的后缀和\(B\)的长为\(i\)的前缀相等,删除\(A\)的这个后缀,并将\(B\)连接到它的后面。注意…

5个好看的vue3后台管理模板

- 1.SoybeanAdmin https://soybeanjs.cn 简介 SoybeanAdmin 是一个清新优雅、高颜值且功能强大的后台管理模板,基于最新的前端技术栈,包括 Vue3, Vite5, TypeScript, Pinia 和 UnoCSS。采用 Vue3, Vite5, TypeScript, Pinia 和 UnoCSS 等最新流行的技术栈。 采用 pnpm monor…