首页 > 编程语言 >蜗牛式学习Java--基础篇(2)--综合案例拼图游戏

蜗牛式学习Java--基础篇(2)--综合案例拼图游戏

时间:2023-02-11 23:22:19浏览次数:45  
标签:Java -- jLabelTitle 窗体 设置 new 拼图游戏 public

 

 

  • 创建窗体
  • 代码:
    • package com.ktestdemo;
      
      import javax.swing.*;
      
      // 继承JFrame
      public class PictureFrame extends JFrame {
          // 定义构造方法
          public PictureFrame() {
              // 调用窗体初始化方法
              initFrame();
              // 设置窗体可见
              this.setVisible(true);
          }
      
          public void initFrame() {
      
              // 设置窗体大小
              this.setSize(960,565);
              // 设置标题
              this.setTitle("动漫拼图");
              // 窗口居中
              this.setLocationRelativeTo(null);
              // 设置关闭时退出应用程序
              this.setDefaultCloseOperation(3);
              // 设置窗体位于其他应用之上
              this.setAlwaysOnTop(true);
              // 取消默认布局
              this.setLayout(null);
      
          }
      
      
      }
  •  
  •  效果:

 

  • 绘制图片标题+移动区域
  • 代码:
    •     // 定义构造方法
          public PictureFrame() {
              // 调用窗体初始化方法
              initFrame();
              // 调用组件绘制方法
              paintView();
              // 设置窗体可见
              this.setVisible(true);
          }
      
          //定义绘制面板方法
          public void paintView(){
              // 设置标题图片   C:\kk\IdeaProjects\javase_code\ktest-picture-puzzle\images\title.png
              JLabel jLabelTitle = new JLabel(new ImageIcon("ktest-picture-puzzle\\images\\title.png"));
              jLabelTitle.setBounds(354,27,232,57);
              this.add(jLabelTitle);
      
              //设置二维数组,标记16张图片
              int[][] im = {
                      {1,2,3,4},
                      {5,6,7,8},
                      {9,10,11,12},
                      {13,14,15,16}
              };
      
              // 设置面板图片(拼图区)
              JPanel jPanel = new JPanel();
              jPanel.setBounds(150,114,360,360);
              jPanel.setLayout(null);
      
              // 循环获取二维数组里的值,作为图片编号
              for(int i = 0; i<im.length;i++){
                  for (int j=0;j<im[i].length;j++){
                      // 创建JLabel对象,加载图片(图片名称0~16,后缀.png,这里循环获取数组值,在进行字符串拼接)
                      JLabel jLabelXt=new JLabel(new ImageIcon("ktest-picture-puzzle\\images\\"+im[i][j]+".png"));
                      jLabelXt.setBounds(j*90,i*90,90,90);
                      // 把每张小图片都添加拼图区上
                      jPanel.add(jLabelXt);
                  }
              // 把拼图区添加到窗体上
                  this.add(jPanel);
      
              }
      
          }

 

  • 效果:

 

标签:Java,--,jLabelTitle,窗体,设置,new,拼图游戏,public
From: https://www.cnblogs.com/testKK/p/17112798.html

相关文章

  • 多线程面试题
    实现线程有哪几种方式?4种https://blog.csdn.net/weixin_46217160/article/details/108721306A继承类Thread,重写run()方法,调用Thread类中的start()方法启动线程;MyThrea......
  • 多线程
    继承thread     2        ......
  • Java线程中断
    Java线程里:“中断”就是指“终止”,与操作系统里的"中断"、“异常”是完全不同的概念;由于stop()方法过于暴力,可能导致资源回收无法风险、开销过大等问题,此方法已过期,故Java......
  • go: cannot find main module, but found glide.lock 问题解决
    解决方法exportGO111MODULE=auto说明此问题主要是老golang项目构建可能会出现的,新的一般不对有此问题(都基于gomod了)参考资料https://github.co......
  • 病毒
    病毒本文灵感来自尼尔盖曼短篇小说集•《烟与镜》•《病毒》。1最近服务器监控系统频繁的向我发出告警信号,通过告警内容,提示我有一台服务器出现了异常。我看到了主要是......
  • CC1链详解
    前言:这篇文章是对CC1的总结,个人学习,如有不对请多指教。谢谢!环境:jdk8u71以下,因为在该jdk版本以上这个漏洞已经被修复了下载链接:https://www.oracle.com/cn/java/technolog......
  • HDU 1024 Max Sum Plus Plus
    题目大意:给定一个长度为\(n\)数组,求划分成\(m\)段不相交区间的子段和最大值得问题那么需要考虑得就是对于第i个数字,是否选中它在m个区间中,以及如果选中它那么它在第几个......
  • 【SQL题目】获取每个部门中当前员工薪水最高的相关信息
    牛客网链接描述有一个员工表dept_emp简况如下:emp_nodept_nofrom_dateto_date10001d0011986-06-269999-01-0110002d0011996-08-039999-01-011......
  • m基于遗传算法的多AVG调度和货架存取货路线优化系统matlab仿真
    1.算法描述       遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假......
  • 生存分析之Kaplan-Meier曲线都告诉我们什么
    我们用横轴表达研究的时间轴,随着研究的开始,患者开始纳入研究:随着时间的推移,越来越多的患者加入到研究中: 继续我们的观察,开始有患者出现了我们所期待的终点事件,像这样......