五子棋添加背景"/>
java五子棋添加背景
一、代码实现
package org.like.game.frame;
import java.awt.Font;//改字体
import java.awt.Graphics;//自动调用里面的paint()方法,需要重写
import java.awt.Toolkit;//获取电脑屏幕的长和宽
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;//导入图片作为背景(流)
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class FiveChessFrame extends JFrame implements MouseListener
{
int width = Toolkit.getDefaultToolkit().getScreenSize().width;//屏幕的宽
int height = Toolkit.getDefaultToolkit().getScreenSize().height;//屏幕的长
BufferedImage bgImage = null;//图片缓冲流
public FiveChessFrame()
{
this.setTitle("五子棋");
this.setSize(500,500);//设置程序窗体大小
this.setLocation((width-500)/2,(height-500)/2);//使得程序窗口出现在屏幕的正中央
this.setResizable(false);//设置程序窗体的大小不可编辑
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使得点击'关闭'符号时,程序停止运行
this.setVisible(true);
this.addMouseListener(this);
try
{//将背景图片以字节流的形式读取到内存,再通过paint()方法输出,作为程序的背景
bgImage = ImageIO.read(new File("F:/mypicture/java/background.jpg"));
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void paint(Graphics g)//程序会自动调用此方法
{
g.drawImage(bgImage,3,20,this);//this表示在将图片作为此窗体的背景
g.setFont(new Font("黑体",Font.BOLD,20));//设置“游戏信息”的字体
g.drawString("游戏信息", 150, 50);
g.setFont(new Font("宋体",0,14));//再为以下文字设置字体
g.drawString("黑方时间:无限制", 45, 470);
g.drawString("白方时间:无限制", 260, 470);
for(int i=0;i<19;i++)
{//前面两个参数表示起点坐标,后面两个参数表示终点坐标(以窗体左上角作为坐标原点)
g.drawLine(13, 70+20*i, 372, 70+20*i);//画19条横线
g.drawLine(13+20*i,70,13+20*i,430);//画19条竖线
}
g.fillOval(71, 128, 4, 4);//在棋盘中画一些关键点
g.fillOval(311, 128, 4, 4);
g.fillOval(311, 368, 4, 4);
g.fillOval(71, 368, 4, 4);
g.fillOval(311, 248, 4, 4);
g.fillOval(191, 128, 4, 4);
g.fillOval(71, 248, 4, 4);
g.fillOval(191, 368, 4, 4);
g.fillOval(191, 248, 4, 4);
}
@Override
public void mouseClicked(MouseEvent e)
{
}
@Override
public void mousePressed(MouseEvent e)
{
}
@Override
public void mouseReleased(MouseEvent e)
{
}
@Override
public void mouseEntered(MouseEvent e)
{
}
@Override
public void mouseExited(MouseEvent e)
{
}
public static void main(String[] args)
{
FiveChessFrame ff = new FiveChessFrame();
}
}
二、
效果展示
原始背景图片
运行后的窗体显示
更多推荐
java五子棋添加背景
发布评论