简单记录一下JFrame的用法
首先创建一个extends了JFrame的class
package ui;
import javax.swing.JFrame;
public class FrameGame extends JFrame{
}
这个class里面没有内容 所以和JFrame是一样的
然后 再创建一个带main method的class
package main;
import ui.FrameGame;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
new FrameGame().setVisible(true);
}
}
这个setVisuble(true)实现之后 会创建一个窗口 但这个窗口没有内容
拉开之后是这样
我们需要创建FramGame class 的原因是 可以用这个class设定窗口的属性 而设置的方法是使用JFrame里面的方法
FrameGame写好之后是这样的
package ui;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class FrameGame extends JFrame{
public FrameGame(){
this.setTitle("Java Tetris");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 1
this.setSize(1200,700);
this.setResizable(false); // 2
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screen = toolkit.getScreenSize();
int x = (screen.width - this.getWidth()) / 2;
int y = (screen.height - this.getHeight())/2 - 16;
this.setLocation(x, y); //3
this.setContentPane(new PanalGame()); // 4
}
}
注释
1 如果没有这条的话 点了窗口右上角的×之后窗口会消失 但程序会继续跑 有了以后就可以正常关了 估计EXIT_ON_CLOSE是JFrame里面的一个variable
2 这个是设定窗口大小能否改变
3 这个设置之后 用户仍然可以拖动窗口 改变窗口位置
4 设置panel 即是 窗口内显示的内容