java绘制五子棋棋盘

作者:老阔丶啊~疼 时间:2022-05-10 09:37:36 

本文实例为大家分享了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();
}
}

效果图:

java绘制五子棋棋盘

来源:https://blog.csdn.net/weixin_46085748/article/details/113075053

标签:java,五子棋,棋盘
0
投稿

猜你喜欢

  • Java之常用类小结案例讲解

    2022-10-08 07:34:24
  • Android中ViewPager组件的基本用法及实现图片切换的示例

    2021-09-28 17:49:42
  • Android UI之ImageView实现图片旋转和缩放

    2023-08-04 02:53:39
  • Android WebView使用方法详解 附js交互调用方法

    2021-09-11 20:26:42
  • 分享Spring Cloud OpenFeign 的五个优化技巧

    2022-06-23 08:53:30
  • Android Activity通用悬浮可拖拽View封装的思路详解

    2023-08-08 15:31:48
  • 通过JDK源码学习InputStream详解

    2022-09-10 19:50:29
  • java switch语句使用注意的四大细节

    2022-07-10 10:46:04
  • 一文告诉你为什么要重写hashCode()方法和equals()方法

    2021-09-05 07:05:55
  • JAVA面试题String产生了几个对象

    2023-03-19 20:46:21
  • springboot FeignClient注解及参数

    2021-07-09 21:59:07
  • Java两个乒乓球队比赛名单问题(判断素数)

    2022-11-15 08:39:20
  • 详解Maven profile配置管理及激活profile的几种方式

    2022-07-01 08:54:46
  • Android popupWindow弹出窗体实现方法分析

    2021-08-08 08:07:42
  • Java中线程的等待与唤醒_动力节点Java学院整理

    2023-07-17 04:03:05
  • C# 对象持久化详解

    2023-06-24 10:21:47
  • Android 再按一次返回键退出程序实现思路

    2023-01-07 12:26:36
  • 基于list stream: reduce的使用实例

    2021-07-21 06:54:52
  • java中switch选择语句代码详解

    2023-09-28 19:34:29
  • springboot+gradle 构建多模块项目的步骤

    2023-02-19 00:33:31
  • asp之家 软件编程 m.aspxhome.com