前言
我们前面用了一些组件,像我这样的Java初学者可能不太理解,Java中拼图游戏所要用到的三个组件
JFrame
JFrame 是Java中自带的可以用于创建一个界面的类
下面是拼图封装的主界面初始化
下面居中自己试试吧,意思就是主界面居于屏幕之中
` private void initJFrame() {
this.setSize(603,680);
//设置界面标题
this.setTitle("拼图游戏单机版 v1.0");
//设置界面置顶
this.setAlwaysOnTop(true);
//设置界面居中
this.setLocationRelativeTo(null);
//设置游戏关闭模式
this.setDefaultCloseOperation(3);
//取消默认的居中放置,只有取消了才能用xy轴
this.setLayout(null);
}
}
JMenuBar
JMenuBar 可以用于创建一个菜单 ,其中又有JMenu和JMenuItem 具体是怎么样,由下图可知
大概就是这样,意思就是JMenuBar是一个菜单,JMenu是一个选项,JMenuItem是选项下的条目对象,具体实现效果如下
private void initJMnuBar() {
//初始化菜单
//创建菜单对象
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);
}
JLabel 一个管理图片的容器
其中还有一个imageIcon的类,想看看具体怎么回事可以用api文档或者在idea中选中函数CTRL B 然后CTRL F12 寻找自己想要的函数,我选了绝对路径来引入图片
关于二重循环,我的理解是可以先看内循环,外循环就是把内循环执行多几遍,很简单的我把这图片初始化也进行了封装
private void initImage() {
int number = 1;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
//创建一个图片ImageIcon对象
//创建JLabel的对象(管理容易)
JLabel jLabel = new JLabel(new ImageIcon("C:\\Users\\137111\\IdeaProjects\\Study\\PuzzleGame\\image\\animal\\animal3\\"+number+".jpg"));
//把管理容器添加到界面中
jLabel.setBounds(105*j,105*i,105,105);
//this.add(jLabel);
this.getContentPane().add(jLabel);
//每一次加载下一张图片
number++;
}
}