【Java 2D游戏开发】GUI基础(一)

这个系列会用 Java 的swing做一个简单的2d游戏,由于是边学边写的,所以有些地方可能不对,请在评论里指正一下


显示窗口

游戏里所有的绘制操作都要在窗口的基础上进行,可以用JFrame来新建一个窗口

JFrame window = new JFrame();//新建窗口
window.setVisible(true);//将窗口设置为可见
window.setSize(650, 500);//设置窗口宽高

运行一下,会弹出来一个空窗口,关掉窗口,你会发现程序还在运行,没有退出,需要强制退出,只需要改一下关闭窗口时的默认动作

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序

设置标题

window.setTitle("Java 2D Game");//设置标题

效果:
空窗口


绘制自定义图形

由于做的是游戏,不可能用Java自带的控件来做,那样效率很低,所以需要新建一个类,继承JFrame,重写paint方法,自己画出游戏

新建Game类

public class Game extends JFrame
{
	private int width;
	private int height;
	private String windowTitle;
	
	public Game(int windowWidth, int windowHeight, String title)
	{
		width = windowWidth;
		height = windowHeight;
		windowTitle = title;
		createWindow();
	}
	
	//创建窗口
	private void createWindow()
	{
		setSize(width, height);
		setTitle(windowTitle);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}
}

重写paint方法

	//重写窗体绘制方法
	@Override
	public void paint(Graphics g)
	{
	}

改一下main方法

public static void main(String[] args)
{
	Game window = new Game(650, 500, "Java 2D Game");//新建窗口
}

运行一下,发现窗口是完全透明的,因为我们还什么都没有画
透明窗口

我们画一些东西上去

//重写窗体绘制方法
@Override
public void paint(Graphics g)
{
	g.setColor(Color.BLACK);//设置画笔为黑色
	g.fillRect(0, 0, width, height);//填充整个窗口为黑色
	g.setColor(Color.WHITE);
	g.drawString("Hello world!", 100, 100);//在(100, 100)处画文字“Hello world!”
}

注意画文字的时候有个坑,坐标不要设置太小了,要不然会画在窗口外面,看不到

效果图:
Hello world!

猜你喜欢

转载自blog.csdn.net/XcantloadX/article/details/87731020