首页 > 编程语言 >Java游戏源码:天天酷跑+大学生学习源码

Java游戏源码:天天酷跑+大学生学习源码

时间:2025-01-18 19:55:45浏览次数:1  
标签:java swing Java 源码 酷跑 new import javax

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

image.png

视频演示

https://githubs.xyz/show/209.mp4

源码搭建和讲解

代码采用原生java类库编写, 利用java swing作为界面框架,完整源码获取地址:

gitee.com/hadluo/java_game01.git

启动main入口:

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;


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就可以运行了。

结尾语

源码仅供学习。

标签:java,swing,Java,源码,酷跑,new,import,javax
From: https://www.cnblogs.com/hadluo/p/18678768

相关文章

  • 有一个包含开始日期和结束日期的数组,获取最小的日期和最大的日期,用java实现
    packagecom.cfb.oa.m;importjava.time.LocalDate;importjava.util.ArrayList;importjava.util.List;classDateRange{LocalDatestartDate;LocalDateendDate;publicDateRange(LocalDatestartDate,LocalDateendDate){this.startDate......
  • Java游戏源码:象棋网络对战版+大学生练手项目
    学习java朋友们,福利来了,今天小编给大家带来了一款象棋网络对战版源码。你可以学习到socket编程知识,还有基础的游戏编程知识。视频演示https://githubs.xyz/show/207.mp4源码搭建和讲解 代码采用原生java类库编写,利用javaswing作为界面框架,完整源码获取地址:gitee.com/hadl......
  • JavaScript 中的 `findIndex` 方法
    ......
  • JAVA-Exploit编写(1)--HttpURLConnection库使用
    目录1.HttpURLConnection简介2.创建HttpURLConnection请求.2.1HttpURLConnection的属性2.2设置相关的请求属性2.3 设置请求头参数3使用GET方法进行请求4.POST方法进行请求4.1常规使用4.2单独调用 5. 设置代理5.1 直接设置代理5.2 配置Proxy代理类 6.......
  • JAVA-Exploit编写(2)--HttpClient库使用
    目录1.HttpClient简介1.1ApacheHttpClient特性1.2 ApacheHttpClient使用流程2.依赖导入3.HttpClient属性4.GET方式请求4.1 test2.php4.2不携带参数请求 4.3 携带参数提交4.4 支持URIBuilder对象的使用 5.POST请求5.1test3.php5.2 单个参数提交......
  • 有一个包含开始时间和结束时间的数组,要求日期从早到晚有连贯性,不能出现重叠,用JAVA判断
    packagecom.cfb.oa.m;importjava.time.LocalDate;importjava.util.ArrayList;importjava.util.List;classDateRange{LocalDatestart;LocalDateend;publicDateRange(LocalDatestart,LocalDateend){this.start=start;th......
  • 图书馆管理系统javaweb(含数据库脚本)
    图书馆管理系统javaweb(含数据库脚本),tomcat7eclipsejdk1.8包含数据库文件列表BookLibrarySystem-master/.classpath , 9020BookLibrarySystem-master/.project , 1639BookLibrarySystem-master/.settings/.jsdtscope , 499BookLibrarySystem-master/.settings/org.ec......
  • Java入门学习Day2
    目录(一)Java01:Java帝国的诞生(二)Java02:特性与优势(三)Java03:三大版本(四)Java04:JDK、JRE、JVM(五)Java05:安装开发环境(六)Java06:HelloWorld详解(七)Java07:编译型和解释型(八)Java08:使用IDEA开发(一)Java01:Java帝国的诞生先附上学习的链接:b站狂神说Java入门011995年诞生三高......
  • Java 批量检测微信小程序封禁状态
    项目代码importjava.io.InputStreamReader;importjava.io.BufferedReader;importjava.net.HttpURLConnection;importjava.net.URL;importorg.json.JSONObject;publicclassMiniProgramStatusChecker{//要检查的小程序AppID列表privatestatic......
  • SSM的校园二手物品交易平台-计算机毕业设计源码15221
    摘 要随着我国互联网技术的飞速发展,网络购物已经成为人们日常生活的重要组成部分。特别是在校园中,由于学生群体的特殊性,二手物品交易的需求日益增长。然而,目前校园二手物品交易市场仍然存在许多问题,如信息不对称、交易安全性难以保证等。为了解决这些问题,本文设计并实现了一......