基于《仙剑奇侠传柔情版》利用Java的简单实现(一)

2018-12-01 23:55:36   by Louis


 一,新建一个类GameFrame.class,具体代码如下:

package firstDemo;

import javax.swing.JFrame;

/**
* 本类文件表示游戏案例的窗口类,也就是运行之后会呈现出一个游戏窗口
* 窗口大小1024*768像素;屏幕中间出现
*
* @author Louis
*/
public class GameFrame {
//主方法
public static void main(String[] args) {
//1.游戏的窗口
//1.1创建窗口的实例化对象
JFrame chuangkou = new JFrame(); 17 //1.3 设置窗口对象的相关内容(大小、位置等等)
chuangkou.setSize(1024, 768); //窗口大小
//chuangkou.setLocation(100,100); //窗口位置
chuangkou.setLocationRelativeTo(null); //窗口居中
chuangkou.setTitle("《仙剑奇侠传九之我的世界我主宰》"); //窗口标题
chuangkou.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当我关闭窗口时,终止控制台
GamePanel huaban = new GamePanel(); //2.3.创建自定义画板类的实例化对象
chuangkou.add(huaban);//2.4.将窗口对象和自定义画板对象关联在一起
//chuangkou.show(); //1.2 让窗口对象显示 过期的show
Thread xiancheng = new Thread(huaban);
xiancheng.start();
//4.3.声明自定义画板类中的键盘监听事件的有效性
chuangkou.addKeyListener(huaban);
huaban.addKeyListener(huaban);
chuangkou.setVisible(true); //显示窗口
}
}

小记一笔:

  • 声明一个JFrame的对象
// 语法格式:类名 对象名 = new 类名
JFrame chuangkou = new JFrame();

注意:如果所使用的类,在Java类库中已经存在时,需要在声明当前代码文件所在的package之后,import接入类所在的类库,如本例,在eclipse中可以使用快捷键Ctrl+Shift+O 自动接入javax.swing.JFrame,IntelliJ IDEA则使用ALT+Enter,然后import...

  •  如何理解javax.swing.JFrame?一张图告诉你:

  • 问题又来了,JFrame类有什么?如何查看?
  • 答:无论eclipse还是IDEA,按住CTRL键,然后鼠标指针移动到所需要查看的类、方法处点击就能查看到源文件(这些会对应的显示为超链接的形式,如图),另外,该方法也可以点击变量来根据同一变量进行跳位哦!

  • 我们自己创建的对象chuangkou如何调用父类JFrame中的方法,以及父类所继承的类的方法呢?
  • 当然是 “.” 这个符号了,在上述接入包中的类用的是它,如今还是用它,是不是有点东西呢,嘿嘿!如果你愿意一层一层地 剥开它的心,没错 “.” 就可以理解为进入内层的意思,要想窥探内部真谛,需要破洞(dian)而入
 // 来自父类的方法
chuangkou.setLocationRelativeTo(null); // 窗口居中
chuangkou.setTitle("《仙剑奇侠传九之我的世界我主宰》"); // 窗口标题
chuangkou.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口 // 来自父类继承的类的方法
chuangkou.setSize(1024, 768); //窗口大小
chuangkou.addKeyListener(huaban);
chuangkou.setVisible(true); //显示窗口
  •  添加线程,可以控制屏幕的刷新及延时哦!

// 添加线程
Thread xiancheng = new Thread(huaban);
xiancheng.start();

预告:没有学JButton? 小白当时是如何实现图形按钮的切换的?加急制作中。。。

最新文章

  1. Eclipse "Unable to install breakpoint due to missing line number attributes..."
  2. 在​W​C​F​中​使​用​消​息​队​列​M​S​M​Q
  3. iOS - UISegmentedControl
  4. 参加魅族 flyme 互联网编程大赛的一些感受
  5. nginx 采用https 协议通信配置
  6. CodeForces 698B Fix a Tree (并查集应用)
  7. [转]Android下打印调试堆栈方法
  8. Swift 4 Hex Color
  9. 《BUG创造队》第一次作业:团队亮相
  10. 面向对象DAO模式
  11. Vue双向数据绑定原理
  12. 自定义数据类型 typedef
  13. 8 -- 深入使用Spring -- 5...3 使用@CacheEvict清除缓存
  14. python环境准备以及easy_install和pip的安装
  15. collections之命名元组
  16. 入坑python 自己写的小工具,纪念一下
  17. 每天学一点easyui①
  18. [转]在Excel中使用SQL语句实现精确查询
  19. mysql各种集群的优缺点
  20. date +%F时间日期

热门文章

  1. S2SH项目实现分页功能
  2. 吴裕雄--天生自然 R语言开发学习:时间序列(续一)
  3. 使用内网映射工具Holer将本地的Web应用映射到公网上访问
  4. Apollo配置中心介绍与使用指南
  5. Windows server 2008 r2下安装sqlserver2012
  6. Starting php-fpm [18-Jun-2019 12:56:59] NOTICE: PHP message: PHP Warning: Version warning提示报错解决
  7. Mac系列萎靡 大棒能否敲醒苹果?
  8. react-router简单使用方法
  9. Android中JNI的使用方法(转载)
  10. 使用BIND搭建内部DNS服务