java基础-拼图小游戏(一)

java基础-拼图小游戏

写游戏不是目的,而是把之前学习的内容联系起来。

一、创建页面

(1)如果这样创建,代码都集中在main函数里面,后期想要修改代码不方便,不利于维护。

public class Test {
    public static void main(String[] args) {
        //1、创建一个游戏的主页面
        //JFrame是一个类
        //属性(宽、高)  行为
        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);
    }
}

(2)可以分别放到不同类里面,分离代码,方便以后修改。用继承的方式。
在这里插入图片描述

public class LoginJFrame extends JFrame {
	//this代表调用者的地址,因为没有创建对象,
	//所以需要使用this使用父类的方法。如果本类没有同名方法,去掉this也可以
    public LoginJFrame(){
        this.setSize(488,430);
        
        this.setVisible(true);
    }
}
public class App extends JFrame {
    public static void main(String[] args) {
    /*
       用继承改写主页面。可以分离相关代码,方便以后修改
    */
        //1、创建一个游戏的主页面
        new GameJFrame();
        //2、创建一个登陆界面
        new LoginJFrame();
        //3、创建一个注册界面
        new RegisterJFrame();
    }
}

二、界面设置

同理,可以将界面设置和界面搭建写到方法当中,后期便于优化。(提取方法快捷键:ctrl+Alt+m)

public class GameJFrame extends JFrame {
    public GameJFrame(){
        initJFrame();
        initJMenuBar();


        //让界面显示出来,建议写在最后
        this.setVisible(true);
    }

    private void initJMenuBar() {
        //创建整个的菜单对象
        JMenuBar jMenuBar =new JMenuBar();

        //创建菜单上面的两个选项的对象(功能  关于我们)
        JMenu functionJMenu =new JMenu("功能");
        JMenu aboutJMenu=new JMenu( "关于我们");

        //创建选项下面的条目对象
        JMenuItem replayItem= new JMenuItem("重新游戏");
        JMenuItem reLoginItem=new JMenuItem("重新登录");
        JMenuItem closeItem=new JMenuItem("关闭游戏");

        JMenuItem accountItem=new JMenuItem("公众号");

        //将每一个选项下面的条目天极爱到选项当中
        functionJMenu.add(replayItem);
        functionJMenu.add(reLoginItem);
        functionJMenu.add(closeItem);

        aboutJMenu.add(accountItem);

        //将菜单里面的两个选项添加到菜单当中
        jMenuBar.add(functionJMenu);
        jMenuBar.add(aboutJMenu);

        //给整个界面设置菜单
        this.setJMenuBar(jMenuBar);
    }

    private void initJFrame() {
        //设置界面的宽高
        this.setSize(603,680);
        //设置界面的标题
        this.setTitle("拼图单机版 v1.0");
        //设置界面置顶
        this.setAlwaysOnTop(true);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置关闭模式
        this.setDefaultCloseOperation(3);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值