京东百万年薪大佬用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();
 }
}

最新2021整理收集的一些高频面试题(都整理成文档),有很多干货,包含mysql,netty,spring,线程,spring cloud、jvm、源码、算法等详细讲解,也有详细的学习规划图,面试题整理等,需要获取这些内容的朋友请加Q君羊:547998459

以上就是本文的全部内容,需要更多资料请联系我,希望对大家的学习有所帮助,也希望大家多多支持

猜你喜欢

转载自blog.csdn.net/p1830095583/article/details/114528100
今日推荐