Java实现拼图小游戏(1)—— JFrame的认识及界面搭建

简介: 如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面

一、前言


本文主要是介绍JFrame以及简单的搭建界面


二、主界面分析


0e3799ab77f4406cbf89948dc7dca29f.png


三、创建主界面的框(测试类)


1.步骤


  • 首先我们要新建对象
  • 设置界面的大小(长宽)
  • 设置界面可视化(如果没有这个步骤,屏幕上不会显示出来东西)
  • 设置游戏主界面、登录界面以及注册界面


2.代码实现


import javax.swing.*;
public class Test {
    public static void main(String[] args) {
        //创建游戏主界面
        JFrame gameJFrame = new JFrame();
        //设置长宽
        gameJFrame.setSize(603,680);
        //设置可视化
        gameJFrame.setVisible(true);
        //创建登录界面
        JFrame loginJFrame = new JFrame();
        loginJFrame.setSize(488,430);
        loginJFrame.setVisible(true);
        //创建注册界面
        JFrame registerJFrame = new JFrame();
        registerJFrame.setSize(488,500);
        registerJFrame.setVisible(true);
    }
}


3.测试代码


b927153e9ceb406ab67a275bd7833117.png


四、设置标题以及位置


1.设置标题


gameJFrame.setTitle("拼图小游戏 V1.0");
loginJFrame.setTitle("登录游戏");
registerJFrame.setTitle("注册");


2.设置界面位置


设置永远置顶


gameJFrame.setAlwaysOnTop(true);
loginJFrame.setAlwaysOnTop(true);
registerJFrame.setAlwaysOnTop(true);


设置界面居中


gameJFrame.setLocationRelativeTo(null);
loginJFrame.setLocationRelativeTo(null);
registerJFrame.setLocationRelativeTo(null);


3.设置关闭模式


此处如果对于关闭模式有疑问的话,可以点击下方链接查看


JFrame中有关于DefaultCloseOperation的使用及参数说明(含源码阅读)


gameJFrame.setDefaultCloseOperation(3);
loginJFrame.setDefaultCloseOperation(3);
registerJFrame.setDefaultCloseOperation(3);


五、优化代码


1.解释


如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面


2.游戏主界面


import javax.swing.*;
public class GameJFrame extends JFrame {
    public  GameJFrame(){
        //设置界面大小
        this.setSize(603,680);
        //设置标题
        this.setTitle("拼图小游戏 V1.0");
        //设置永远置顶
        this.setAlwaysOnTop(true);
        //设置程序随着窗口关闭而结束运行
        //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setDefaultCloseOperation(3);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置界面可视化
        this.setVisible(true);
  }
}


3.登录界面


import javax.swing.*;
public class LoginJFrame extends JFrame {
    public LoginJFrame(){
        //设置界面大小
        this.setSize(488,430);
        //设置标题
        this.setTitle("登录游戏");
        //设置永远置顶
        this.setAlwaysOnTop(true);
        //设置程序随着窗口关闭而结束运行
        //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setDefaultCloseOperation(3);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置界面可视化
        this.setVisible(true);
    }
}


4.注册界面


import javax.swing.*;
public class RegisterJFrame extends JFrame {
    public  RegisterJFrame(){
        //设置界面大小
        this.setSize(488,430);
        //设置标题
        this.setTitle("注册");
        //设置永远置顶
        this.setAlwaysOnTop(true);
        //设置程序随着窗口关闭而结束运行
        //this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setDefaultCloseOperation(3);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置界面可视化
        this.setVisible(true);
    }
}


六、结语


下一篇文章会讲述有关菜单搭建的内容,如果在自己写代码的过程中遇到了问题可以留言评论

相关文章
|
10天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
2月前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
126 8
|
5月前
|
数据可视化 Java
使用ChatGPT实现可视化操作扫雷小游戏 【java代码实现】
这篇文章介绍了使用Java语言和Swing框架实现的扫雷小游戏的详细代码和实现过程。
使用ChatGPT实现可视化操作扫雷小游戏 【java代码实现】
|
5月前
|
人工智能 Java 定位技术
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
这篇文章通过一个使用ChatGPT实现的Java扫雷小游戏案例,展示了ChatGPT在编程领域的应用能力。文章中包含了扫雷游戏的Java代码实现,代码中初始化了雷区地图,随机放置雷,计算每个格子周围雷的数量,并提供了一个简单的文本界面与用户交互进行游戏。游戏通过控制台输入接受玩家的指令,并给出相应的反馈。
人工智能ChatGPT 体验案例:使用ChatGPT实现java扫雷小游戏
|
5月前
|
Java
05 Java代码实现一个小游戏(剪刀石头布)和一个简易的万年历
05 Java代码实现一个小游戏(剪刀石头布)和一个简易的万年历
102 2
|
6月前
|
Java
[Java]猜数字小游戏
Java生成一个猜数字的小游戏
30 0
|
7月前
|
Java 数据安全/隐私保护
利用Java图形化界面组件Swing写一个简易的登录界面
利用Java图形化界面组件Swing写一个简易的登录界面
96 1
|
7月前
|
Java
Java 实现 植物大战僵尸 小游戏【附源码】
Java 实现 植物大战僵尸 小游戏【附源码】
139 3
|
9天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
11天前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。