JAVA游戏源码:跑酷|大学生练手项目

news2024/11/15 11:16:49

学习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 /
			
			@Override
			public 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() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				dispose();
			}
		});
		

		
		//创建背景面板,并添加到窗体上去
		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();
			}
		}
		//绘制方法
		@Override
		public void paint(Graphics g) {
			super.paint(g);
			//绘制背景图片
			g.drawImage(background, 0, 0,900,530, null);//900,530为宽高
		}
	}
}
//throws ......抛异常,将下面的异常向上抛,交给上级:不建议   

运行工具

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

结尾语

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AcWing食物链

Q1:怎么判断X和Y是不是同类? A:判断这俩是不是在一个集合中,如果在同一个集合中,那么判断X到祖先节点的距离D[X]和D[Y]到祖先节点的距离是否有D[X]%3D[Y]%3,也就是3同余 若果是,那么是同类。如果X和Y不在一个集合里面,那么把X和Y…

护网总结汇报PPT一键生成,还要啥售前工程师

【文末送:技战法】 干技术的,特别是干安服的,你让我日个站觉得没问题,你让我写个文档我挠挠头,抓抓背也能凑一篇,但是你要让我写个ppt,那我觉得你在为难我。 报告我都写好了,为啥还…

Eclipse Debug 配置

创建和使用 Debug 配置 Eclipse Debug 配置类似于运行配置但它是用于在调试模式下开启应用。 打开 Debug 配置对话框步骤为:Run > Debug Configurations 。 从左侧列表中选择 "Java Application" 选项来选择要调试的 Java 代码。 对话框中的描述信息…

24年电赛——自动行驶小车(H题)MSPM0G3507-编码电机驱动与通用PID

一、编码电机驱动 编码电机的详情可以查看此篇文章: stm32平衡小车--(1)JGB-520减速电机tb6612(附测试代码)_jgb520-CSDN博客 简单来说,编码电机的驱动主要是给一个 PWM 和一个正负级就能驱动。PWM 的大小…

AI PC处理器架-低功耗、NPU算力、大模型

AI PC处理器架构变化:ARM低功耗、引入NPU算力、大模型落地端侧 ARM架构以简洁的指令集设计,快速执行每条命令,实现低功耗下的高效性能。其核心理念是节能和效率,为电池驱动设备提供了理想选择。相较之下,x86架构虽指令…

Linux--shell脚本语言—/—<1>

一、shell简介 Shell是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构&am…

【practise】大数相加、大数相乘

通常,我们的int、long long类型都有最大的数字上限,也就是说再大了会有溢出问题,那么很大的数字是怎么进行运算的呢? 其中一种方法是把很大的数字转变成字符串存放到string中,然后用代码对字符串进行处理,…

PHP最新可用获取QQ昵称API接口源码_非第三方

PHP最新可用获取QQ昵称API接口源码,运行环境为php7-8都可以,内容为直接调用QQ空间接口 在需要展示QQ昵称处,直接调用以下函数就可以。 例如:get_qq_nick(123456)就会直接输出123456的qq号昵称。 API源码下载:QQ昵称AP…

【C语言】字符函数和字符串函数详解

🦄个人主页:小米里的大麦-CSDN博客 🎏所属专栏:https://blog.csdn.net/huangcancan666/category_12718530.html 🎁代码托管:黄灿灿 (huang-cancan-xbc) - Gitee.com ⚙️操作环境:Visual Studio 2022 目录 一、引言 内容一览 一、strlen …

一拖三无线充底座-带给你极致的便利生活

随着科技的不断进步,无线充电技术已经逐渐渗透到我们日常生活的方方面面,一拖三无线充底座作为其中的佼佼者,以其高效、便捷的特点受到广大用户的青睐。本文将从电磁感应原理、多线圈设计、频率匹配、电能传输、功率分配以及充电管理六个方面…

【Rust日报】终端表格查看工具

[new ver] Tabiew v0.6.1 Tabiew 是一个轻量级的、基于终端的应用程序,用于查看和查询分隔符分隔值格式的文档,例如 CSV 或 TSV 文件。 功能如下: 📊 表格视图: 通过易于导航的表格视图来探索数据。🔍 工作表视图: 深入…

深入剖析隐私安全测试:在数字化时代的守护者

大家好,我是一名_全栈_测试开发工程师,已经开源一套【自动化测试框架】和【测试管理平台】,欢迎大家关注我,和我一起【分享测试知识,交流测试技术,趣聊行业热点】。 一、引言 在日新月异的数字化浪潮中&…

FPGA开发——基于Quartus的工程建立以及下载仿真全过程

一、概述 在使用了这么久的FPGA之后,才发现前面光发了各个设计的设计文件和测试问价,还没有发过怎么利用我们编写的代码进行仿真和使用软件进行工程建立和下载验证的过程,今天就补发一篇Quartus的工程建立以及下载仿真全过程。 二、文件夹建…

程序执行的环境和预处理

目录: 思维导图 一 程序的翻译环境 二 程序的执行环境 三 C 语言程序的编译和链接 四 预定义符号 五 预处理指令 六 宏和函数对比 七 预处理操作符# 和 ## 八 命令定义 九 预处理指令#include 十 预处理指令#undef 十一 条件编译 WeChat_2024073122290…

JavaScript 打印 V 和倒 V 图案的程序(Program to print V and inverted-V pattern)

倒 V 型模式:给定 n 的值,打印倒 V 型模式。示例: 输入:n 5 输出 : E D D C C B B A A 输入:n 7 输出 : G F F E E D D C C B B A…

中药养发护发

按照中医理论,头发和肝肾有密切联系,肝主血,肾藏精, 其华在发,肝肾强健,上荣于头,则毛发乌黑浓密. 中药育发的应用 以当归,天麻,桑疹子养血润发,配合干姜祛风活血,能通畅经络, 加快循环,激活毛囊,能促进皮肤组织营养成分吸收和废弃物的排泄,改善 头发生态. 用苦参 皂角 清热化…

yum仓库的制作与使用

目录 前言: 1 查看系统内核 2 获取网络源 3 搭建yum网络仓库 4 rpm包的下载 4.1 将rpm包下载至本地 4.2 对下载的rpm包进行备份 5 制作本地yum源 5.1 软件仓库制作工具createrepo 5.2 使用createrepo创建本地yum仓库 6 搭建docker本地仓库 前言&#x…

【Dash】使用 HTML 和 CSS 创建图表

一、Styling Your App The examples in the previous section used Dash HTML Components to build a simple app layout, but you can style your app to look more professional. This section will give a brief overview of the multiple tools that you can use to enhan…

Scalable Diffusion Models with Transformers(DIT)代码笔记

完整代码来源:DiT DiT模型主要是在diffusion中,使用transformer模型替换了UNet模型,使用class来控制图像生成。 根据论文,模型越大,patch size 越小,FID越小。 模型越大,参数越多,pa…

3.罗马数字转数字

3.罗马数字转数字 题目题目分析 题目 题目分析 基础思路是先想到键值对,然后遍历字符串利用键值对匹配来计算值,要注意处理IV,IX之类需要将当前处理字符与前一个字符进行比较。 class Solution { public:int romanToInt(string s) {//这个函…