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();
}
}
效果图:
来源: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