java绘制五子棋棋盘

 更新时间:2021年01月25日 14:19:13   作者:老阔丶啊~疼  
这篇文章主要为大家详细介绍了java绘制五子棋棋盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下

源码:

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class Demo extends JFrame {

 //背景图片
 BufferedImage image;

 {
 try {
  image = ImageIO.read(new File("forGame\\src\\resource\\主题背景.jpg"));
 } catch (IOException e) {
  e.printStackTrace();
 }
 }

 //创建画板内部类
 class myJPanel extends JPanel{
 //绘制方法
 @Override
 public void paint(Graphics g) {
  //强制类型转换得到Graphics子类Graphics2D对象
  Graphics2D g2 = (Graphics2D)g;//又得到一支笔
  //先JPanel绘制背景图片
  g2.drawImage(image,0,0,1600,900,null);
  //设置画笔颜色
  g2.setColor(Color.CYAN);
  //填充规定区域
  g2.fill3DRect(50, 50, 700, 700, true);

  //再设置画笔颜色,画直线
  g2.setColor(Color.black);
  //设置画出直线的宽度
  g2.setStroke(new BasicStroke(3));

  //绘制下棋区域
  for(int i = 1;i < 16;i ++) {
  g2.drawLine(50,50*i,750,50*i );
  }
  for(int i = 1;i < 16;i ++) {
  g2.drawLine(50*i,50,50*i,750 );
  }

  //画外框
  //设置画笔宽度
  g2.setStroke(new BasicStroke(5));
  g2.drawLine(25,25,775, 25);
  g2.drawLine(25,775,775, 775);
  g2.drawLine(25,25,25, 775);
  g2.drawLine(775,25,775, 775);

  //画四个黑色圆
  g2.fillOval(240, 240, 20, 20);
  g2.fillOval(540, 240, 20, 20);
  g2.fillOval(240, 540, 20, 20);
  g2.fillOval(540, 540, 20, 20);

  //填充框框与下棋区域之间的区域
  g2.setColor(new Color(176, 166, 100, 254));//设置画笔颜色
  g2.fillRect(26, 26, 749, 23);
  g2.fillRect(26, 49, 23, 725);
  g2.fillRect(49, 752, 725, 23);
  g2.fillRect(752, 49, 23, 703);
 }
 }


 //组装窗体
 public void init(){
 //创建画布
 myJPanel canvas =new myJPanel();
 //添加画板
 add(canvas);
 //改变图标
 setIconImage(new ImageIcon("forGame\\src\\resource\\白棋.png").getImage());
 //窗体不可变
 setResizable(false);
 //窗体可关闭
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 //设置窗体大小
 setBounds(0,0,1600,900);
 //窗体显示
 setVisible(true);
 }


 public static void main(String[] args) {
 new Demo().init();
 }
}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • redis分布式锁RedissonLock的实现细节解析

    redis分布式锁RedissonLock的实现细节解析

    这篇文章主要介绍了redis分布式锁RedissonLock的实现细节解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java生产1-100的随机数简单实例(分享)

    Java生产1-100的随机数简单实例(分享)

    下面小编就为大家带来一篇Java生产1-100的随机数简单实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Java中Elasticsearch 实现分页方式(三种方式)

    Java中Elasticsearch 实现分页方式(三种方式)

    Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎,这篇文章主要介绍了Elasticsearch实现分页的3种方式,需要的朋友可以参考下
    2022-07-07
  • @PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter注解的用法详解

    @PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter注解的用法详解

    这篇文章主要介绍了@PreAuthorize、@PostAuthorize、@PreFilter、@PostFilter注解的用法详解,通过在方法上添加@PreAuthorize注解,可以指定需要满足的权限条件,只有满足条件的用户才能执行该方法,需要的朋友可以参考下
    2023-10-10
  • SpringBoot接口路径重复,启动服务器失败的解决

    SpringBoot接口路径重复,启动服务器失败的解决

    这篇文章主要介绍了SpringBoot接口路径重复,启动服务器失败的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • SpringBoot实现API接口的完整代码

    SpringBoot实现API接口的完整代码

    这篇文章主要给大家介绍了关于SpringBoot实现API接口的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • java判断字符串是否为数字的方法小结

    java判断字符串是否为数字的方法小结

    这篇文章主要介绍了java判断字符串是否为数字的方法,分别讲述了使用Java自带函数、正则表达式及ascii码三种方法进行字符串判断的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 详解Java的Struts框架中上传文件和客户端验证的实现

    详解Java的Struts框架中上传文件和客户端验证的实现

    这篇文章主要介绍了Java的Struts框架中上传文件和客户端验证的实现,Struts是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • Java实现天天酷跑小游戏完整代码(附源码)

    Java实现天天酷跑小游戏完整代码(附源码)

    这篇文章主要介绍了使用Java实现天天酷跑(附源码),本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • java服务端微信APP支付接口详解

    java服务端微信APP支付接口详解

    这篇文章主要为大家详细介绍了java服务端微信APP支付接口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论