目录
技术实现:
1.初始化游戏窗口;
1.1 什么是窗口:
1.2 Swing
1.3 JFrame创建窗口:
1.3.1创建窗口的逻辑
1.3.2.设置简单的页面
1.3.3.优化
1.3.4.设置标题
1.4 创建游戏窗口
技术实现:
1.初始化游戏窗口;
2.初始化游戏界面;
3.初始化游戏的说明面板;
4.随机生成下落方块;
5.绘制方块;
6.清除方块;
7.清楚某一行方块,上方方块掉落;
8.刷新清除某一行方块后的界面;
9.键盘控制下落方块的移动方向,形状;
10.判断方块能否下落;
11.实现方块下落速度的变化;
12.游戏的暂停;
1.初始化游戏窗口;
1.1 什么是窗口:
简而言之就是应用的界面,可以通过“最小化” “最大化”来改变窗口大小,在游戏界面一般不允许改变其大小;
1.2 Swing
这涉及到Swing的初级应用。
Swing是一个为Java设计GUI(图形化用户界面)的工具包,位于Javax.swing包中,为程序员使用。组件采用MVC设计,
此外,Swing是轻量级的界面库,JavaFX是在JDK1.8使用的新的的界面库,SWT是exlipse使用的界面库,Android适用于手机,平板的界面,Harmony华为鸿蒙使用的ui;
Swing是一种比较老旧的技术,而且目前主流开发也不是界面设计,我们学习Swing的目的是掌握程序设计的过程和逻辑,而不仅仅是学习Swing。
下面,我们来学习JFrame。
1.3 JFrame创建窗口:
Java提供的JFrame类的实质是一个底层容器,也就是窗口,其他组件必须添加到底层容器中,配合操作系统进行信息的交互;
我们可以使用JFrame类或其子类来创建一个窗口;
1.3.1创建窗口的逻辑
1.创建窗口;
2.设置窗口大小位置等;
3.设置窗口的关闭方式‘
1.3.2.设置简单的页面
下面的代码设置了界面的大小、位置以及界面是可见的;
//界面设置学习
class JFrameDemo{
public static void main(String[] args) {
//创建对象
JFrame jframe=new JFrame();
//设置界面大小
jframe.setSize(900,600);
//设置界面位置
jframe.setLocation(0,0);//左上角为0,0
//可见不可见
jframe.setVisible(true);
}
}
1.3.3.优化
使用set.Bounds方法设置界面的大小和位置;
class JFrameDemo{
public static void main(String[] args) {
//创建对象
JFrame jframe=new JFrame();
//将设置界面大小与位置合为一处
jframe.setBounds(0,0,400,600);
//可见不可见
jframe.setVisible(true);
//设置窗口的关闭方式
//jframe.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);//点击不可关闭
jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//点击关闭,推荐使用
}
}
1.3.4.设置标题
setTitle方法可以设置其标题,但我们通常在在创建对象的同时输入标题。
class JFrameDemo{
public static void main(String[] args) {
//创建对象
JFrame jframe=new JFrame();
//将设置界面大小与位置合为一处
jframe.setBounds(0,0,400,600);
//设置标题
jframe.setTitle("真好玩!");
//可见不可见
jframe.setVisible(true);
//设置窗口的关闭方式
//jframe.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);//点击不可关闭
jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//点击关闭,推荐使用
}
}
class JFrameDemo{
public static void main(String[] args) {
//创建对象
JFrame jframe=new JFrame("真好玩!");
//将设置界面大小与位置合为一处
jframe.setBounds(0,0,400,600);
//可见不可见
jframe.setVisible(true);
//设置窗口的关闭方式
//jframe.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);//点击不可关闭
jframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//点击关闭,推荐使用
}
}
1.4 创建游戏窗口
了解完上面的知识,我们再看看下面的代码。
下面的程序是执行初始化游戏窗口的,我们通过this.使用本类JFrame的方法创建窗口;
package ComputerGame;
import javax.swing.*;
//这是窗口类
public class Window extends JFrame {
//成员方法——初始化游戏窗口
public void initWindow(){
//设置窗口大小
this.setSize(600,800);
//也可以设置初始位置和窗口大小
//this.setBounds(0,0,600,800);
//设置窗口是否可见
this.setVisible(true);
//设置窗口居中
this.setLocationRelativeTo(null);
//设置释放窗体
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//EXIT:出口,通道
//设置窗口大小不可变
this.setResizable(false);
//设置标题
this.setTitle("俄罗斯方块");
}
public Window(){
initWindow();
}
public static void main(String[] args) {
Window w=new Window();
}
}
窗口居中显示: