【精选】Java项目介绍和界面搭建——拼图小游戏 上

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

拼图小游戏

练习

创建主界面1

代码


拼图小游戏

练习

创建主界面1

  • 到idea中创建一个宽603像素,高680像素的游戏主界面
  • 到idea中创建一个宽488像素,高430像素的登录界面
  • 到idea中创建一个宽488像素,高500像素的注册界面

代码

测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。

所以我们这里进行修改下,分别写成单独的类中。

package ui;

import javax.swing.*;

public class test {
    public static void main(String[] args) {
        //JFrame是JavaBean类描述界面的
        //属性 (宽 高)  行为

        //1.创建一个游戏的主界面
        JFrame gameJFrame = new JFrame();
        gameJFrame.setSize(603,680);//单位是像素
        gameJFrame.setVisible(true);

        //2.创建一个登陆界面
        JFrame loginJFrame = new JFrame();
        loginJFrame.setSize(488,430);
        loginJFrame.setVisible(true);

        //3.创建一个注册界面
        JFrame registerJFrame = new JFrame();
        registerJFrame.setSize(488,500);
        registerJFrame.setVisible(true);


    }
}

注册界面:RegisterJFrame

package ui;

import javax.swing.*;

public class RegisterJFrame extends JFrame {
    //跟相关注册界面的代码,都写里面
    public RegisterJFrame(){
        this.setSize(488,500);
        this.setVisible(true);
    }

}

登录界面:loginJFrame

package ui;

import javax.swing.*;

public class loginJFrame extends JFrame {
    //loginJFrame 表示登录界面
    //以后所以跟登录相关的代码,都写里面
    public loginJFrame(){
        this.setSize(488,430);
        this.setVisible(true);
    }

}

游戏界面:GameJFrame

package ui;

import javax.swing.*;

public class GameJFrame extends JFrame {
    //JFrame 界面,窗体
    //子类呢?也表示界面,窗体
    //规定:GameJFrame这个界面表示的就是游戏的主界面
    //以后跟游戏相关的所有逻辑都写在这个类中
    public GameJFrame(){
        this.setSize(603,680);//单位是像素
        this.setVisible(true);
    }

}

程序的启动入口:App

我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。

import ui.GameJFrame;
import ui.RegisterJFrame;
import ui.loginJFrame;

public class App {
    public static void main(String[] args) {
        //表示程序的启动入口
        //如果我们想要开启一个界面,就创建谁的对象就好了
        new RegisterJFrame();
        new GameJFrame();
        new loginJFrame();
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【三维重建】【slam】【分块重建】LocalRF:逐步优化的局部辐射场的鲁棒视图合成

项目地址:https://localrf.github.io/ 题目:Progressively Optimized Local Radiance Fields for Robust View Synthesis 来源:KAIST、National Taiwan University、Meta 、University of Maryland, College Park 提示:文章用了s…

java 大学生社团管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 大学生社团管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5…

Java 1.8 docker 镜像制作

文章目录 一、下载文件二、精简JRE三、Dockerfile四、构建镜像五、容器测试 一、下载文件 glibc 下载地址 glibc-2.33-r0.apk glibc-bin-2.33-r0.apk glibc-i18n-2.33-r0.apk rsa sgerrand.rsa.pub jre 1.8 jre-8u201-linux-x64.tar.gz 二、精简JRE 解压 tar -zxvf jre-8…

【网络那些事】

【云计算】 云计算:把计算资源放在某个地方,并通过互联网暴露出来,让用户可以按需使用计算资源的方式,就是所谓的云计算 云计算的三种服务: 云平台专业名词 日常叫法 亚马逊云叫法 云服务器 ECS (Elas…

代码随想录算法刷题训练营day27:LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串

代码随想录算法刷题训练营day27:LeetCode(39)组合总和、LeetCode(40)组合总和 II、LeetCode(131)分割回文串 LeetCode(39)组合总和 题目 代码 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List;clas…

ntp时钟服务安装- 局域网节点时间同步

场景: 一般部署大数据相关应用服务,各个节点之间需要时间同步;内网情况下,很可能各节点之前时间可能不一致,或者过一段时间后 又不一致了 ntp 时钟服务器: 可用于内网各个节点之前得时间同步,安…

动态规划|【路径问题】63.不同路径II

目录 题目 题目解析 动态规划思路 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 代码 题目 63. 不同路径 II 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。…

小狐狸chat2.7.2免授权修复版可用版

小狐狸chat2.7.2免授权修复版可用版 在网络上面找了好几个版本不能使用,今天发布这个仔细测试正常使用 主要功能:独立版无限多开支持分销会员充值自己APP打包小程序万能创作MJ绘图多个国内接口 国外很火的ChatGPT,这是一种基于人工智能技术…

SpringBoot整合rabbitmq-直连交换机队列(二)

说明:本文章主要是Direct定向/直连类型交换机的使用,它的大致流程是将一个队列绑定到一个直连交换机上,并赋予一个路由键 routingkey,当一个消息携带着路由值为routingkey,这个消息通过生产者发送给交换机时&#xff0…

Android进阶之路 - RecyclerView停止滑动后Item自动居中(SnapHelper辅助类)

之前一直没注意 SnapHelper 辅助类的功能,去年的时候看到项目中仅通过俩行代码设置 RecyclerView 后就提升了用户体验,觉得还是很有必要了解一下,尝试过后才发现其 PagerSnapHelper、LinearSnapHelper 子类可以作用于不同场景,且听…

操作系统—xv6内核环境配置

文章目录 xv6内核环境配置1.开发环境的准备(1).如果日常用Linux(2).Windows的回合#1.两个常见方法#2.wsl的一点安装细节#3.记得升级成wsl-2 (3).如果你是macOS#1.一些起因#2.最乐的一集#3.Homebrew的配置#4.mac用户的特权 2.先换apt源3.安装xv6的依赖4.克隆RISC-V GNU 编译器工…

ICLR/NeurIPS论文分享:任务通用的时序基础模型

吴海旭 清华大学软件学院博士生 师从龙明盛副教授,研究方向为深度学习及其在复杂时空物理过程建模中的应用,目前在Nature Machine Intelligence、IEEE TPAMI、ICML、NeurIPS上发表多篇论文,研究成果在中国气象局、北京冬奥会落地应用。曾获清…

【低代码开发_RuoYi_框架】RuoYi框架_前端页面部署/搭建

开源软件的影响力 随着信息技术的快速发展,开源软件已经成为软件开发的趋势,并产生了深远的影响。开源软件的低成本、可协作性和透明度等特点,使得越来越多的企业和个人选择使用开源软件,促进了软件行业的繁荣。然而,…

【Linux深入剖析】再续环境变量 | 进程地址空间

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.环境变量再续1.1 和…

visio、ppt、office等另存图片,如何设置更清晰

visio、ppt、office等另存图片,如何设置更清晰 选中要另存为的部分——文件——另存为——选好位置——格式选jpg——保存——按下图设置:质量100%,分辨率选打印机,大小选屏幕——确定

Linux:Kubernetes(k8s)——基础理论笔记(1)

我笔记来源的图片以及共享至GitHub,本章纯理论。这是k8s中部分的基础理论 👇 KALItarro/k8spdf: 这个里面只有一个pdf文件 (github.com)https://github.com/KALItarro/k8spdf👆 什么是kubernetes kubernetes 是一个开源的,用于管…

COMPOSER安装使用WIN下升级PHP-V

想用TP6使用phpspreadsheet但是说我PHP版本低,原来是PHP7.0 composer要求至少7.4 直接修改环境变量,把PHP目录切换到7.4 composer升级比较简单,在PHP目录下CMD然后官网的命令执行下即可 下面就可以在TP根目录下执行命令安装PHPSPREADSHEET…

MyBatis 学习(二)之 第一个 MyBatis 案例

目录 1 配置 MyBatis 方式 1.1 XML 配置文件 1.2 Java 注解配置 1.3. Java API 配置 2 在 MySQL 中创建一张表 3 创建一个基于 Maven 的 JavaWeb 工程 4 编写 User 实体类 5 创建 Mybatis 全局配置文件 6 编写一个 DAO 或 Mapper 接口 7 编写 SQL 映射配置文件&#…

C++的继承和多态

继承和多态 继承继承的权限继承的子父类访问派生类的默认成员函数菱形继承(C独有)【了解】虚拟继承什么是菱形继承?菱形继承的问题是什么?什么是菱形虚拟继承?如何解决数据冗余和二义性的继承和组合的区别?…

Vue3如何使用Pinia状态管理库与持久化

大家好,我是你们的好朋友咕噜铁蛋!今天我将和大家分享如何在Vue3中使用Pinia状态管理库以及实现状态持久化的方法。作为一个Vue开发者,我们知道状态管理在大型应用程序中起着至关重要的作用。而Pinia作为Vue3推荐的状态管理库之一&#xff0c…