java绘制五子棋棋盘
作者:老阔丶啊~疼 发布时间:2022-05-10 09:37:36
标签: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();
}
}
效果图:
来源:https://blog.csdn.net/weixin_46085748/article/details/113075053


猜你喜欢
- 如题,有时候看见一个布局写上几百行看上去会非常吃力麻烦,这时候抽取控件样式很有必要了, Android Studio提供了抽取Style样式
- 一个是新浪微博,腾讯微博的分享按钮,一个是他们的绑定情况(其实就是是否授权)。点击微博分享中新浪或腾讯按钮,就进行相应的授权(若没授权),显
- 一 . 得到这个对象的实例Connection con ;con = DriverManager.getConnection(url,use
- RabbitMQ主要有六种种工作模式,本文整合SpringBoot分别介绍工作模式的实现。前提概念生产者消息生产者或者发送者,使用P表示:队
- 目录说明使用常见问题No such instance field: 'logger2'说明logback作为log4j的替代
- 本文实例讲述了Android编程解析XML方法。分享给大家供大家参考,具体如下:XML在各种开发中都广泛应用,Android也不例外。作为承
- Spring 中 Bean 的生命周期是当今最流行的 Java 开发框架之一,其强大的 Bean容器机制是其中的核心之一。Bean 是指在
- 很多时候需要先判断当前用户的网络,才会继续之后的一些处理逻辑。但网络类型获取这一块,我用我自己的的手机调试时遇到一些问题,这里记录一下。一加
- @Autowired注解和静态方法及new关系一、@autowired 与new new出来的对象无法调用@Autowired注入
- 一、对象的综述面向对象编程(OOP)具有多方面的吸引力。对管理人员,它实现了更快和更廉价的开发与维护过程。对分析与设计人员,建模处理变得更加
- 大部分app打开pdf文件是通过intent调起手机中能打开pdf文件的工具,来查看pdf文件,如果需求是,用户在app内下载好pdf文件后
- 本文实例讲述了C#设置页面单位和缩放的方法。分享给大家供大家参考。具体如下:using System;using System.Collec
- 本文实例为大家分享了java实现图片分割指定大小的具体代码,供大家参考,具体内容如下1.使用工具:ThumbnailsThumbnails
- 构造方法以及参数:PageView可用于Widget的整屏滑动切换,如当代常用的短视频APP中的上下滑动切换的功能,也可用于横向页面的切换,
- 上篇教程回顾ServerSocket --监听客户端的连接,他的作用主要是建立一个连接-ServerSocket -建立连接,拿到一个Soc
- 在实践中,项目的某些配置信息是需要进行加密处理的,以减少敏感信息泄露的风险。比如,在使用Druid时,就可以基于它提供的公私钥加密方式对数据
- 对于触摸屏,其原生的消息无非按下、抬起、移动这几种,我们只需要简单重载onTouch或者设置触摸 * setOnTouchListener即
- 1、什么是Java反射机制?在程序运行中动态地获取类的相关属性,同时调用对象的方法和获取属性,这种机制被称之为Java反射机制下面给出一个反
- 本文以实例形式讲述了C#泛型的用法,有助于读者深入理解C#泛型的原理,具体分析如下:首先需要明白什么时候使用泛型:当针对不同的数据类型,采用
- Android EasyPlayer声音自动停止、恢复,一键静音等功能我们在开发播放器时,可能会需要静音或者降低音量的功能。比如说某款音乐播