java生成棋盘
第一步:新建java项目,具体的命名,看下面的文件结构。

第二步:代码区
DrawChessBoard类:
package com.hp.chenyanlong; import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit; import javax.swing.JPanel; /**
* 类说明 :DrawChessBoard 类
* @author 作者 : chenyanlong
* @version 创建时间:2017年10月27日
*/
public class DrawChessBoard extends JPanel { public Image boardImg;//抽象类 Image 是表示图形图像的所有类的超类。 //载入图片
public DrawChessBoard() { boardImg = Toolkit.getDefaultToolkit().getImage("res/drawable/chessboard.png");//获取图片
if (boardImg == null) {
System.out.println("png do not exit");
}
} //重写
@Override
protected void paintComponent(Graphics g){ super.paintComponent(g); int imgWidth=boardImg.getWidth(this);//图片的宽度
int imgHeight=boardImg.getHeight(this);//图片的高度 int FWidth=getWidth();//容器的宽度
int FHeight=getHeight();//容器的高度 int x=(FWidth-imgWidth)/2;
int y=(FHeight-imgHeight)/2;
g.drawImage(boardImg,x,y,null);//画出图片
}
}
Main类:
package com.hp.chenyanlong;
import java.awt.Container;
import javax.swing.JFrame; import com.hp.chenyanlong.DrawChessBoard;
/**
* 类说明 :Main
* @author 作者 : chenyanlong
* @version 创建时间:2017年10月27日
*/
public class Main extends JFrame { private DrawChessBoard drawChessBoard;//设置私有话drawChessBoard //构造方法
public Main() {
//实例化对象DrawChessBoard
drawChessBoard = new DrawChessBoard(); //Frame标题
setTitle("五子棋--@yanlong"); //加入到容器中
Container containerPane =getContentPane();
containerPane.add(drawChessBoard); //将drawChessBoard组件添加到容器
} //主方法
public static void main(String[] args) {
Main m = new Main();
m.setVisible(true);
} }
第三步:运行效果

第四步:为棋盘画上横竖线
重新写了DrawChessBoard代码:
package com.hp.chenyanlong; import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit; import javax.swing.JPanel; /**
* 类说明 :DrawChessBoard 类
* @author 作者 : chenyanlong
* @version 创建时间:2017年10月27日
*/
public class DrawChessBoard extends JPanel { public Image boardImg;//抽象类 Image 是表示图形图像的所有类的超类。
final private int ROWS=19;//设置19行 //载入图片
public DrawChessBoard() { boardImg = Toolkit.getDefaultToolkit().getImage("res/drawable/chessboard.png");//获取图片
if (boardImg == null) {
System.out.println("png do not exit");
}
} //重写
@Override
protected void paintComponent(Graphics g){ super.paintComponent(g); int imgWidth=boardImg.getWidth(this);//图片的宽度
int imgHeight=boardImg.getHeight(this);//图片的高度 int FWidth=getWidth();//容器的宽度
int FHeight=getHeight();//容器的高度 int x=(FWidth-imgWidth)/2;
int y=(FHeight-imgHeight)/2;
g.drawImage(boardImg,x,y,null);//画出图片 int margin=x;
int span_x=imgWidth/ROWS;//单元格的宽度
int span_y=imgHeight/ROWS;//单元格的高度
//画横线
for(int i=0;i<ROWS;i++){
g.drawLine(x, y+i*span_y,FWidth-x,y+i*span_y);
}
//画竖线
for(int i=0;i<ROWS;i++)
{
g.drawLine(x+i*span_x, y, x+i*span_x,FHeight-y);
}
}
}
第五步:运行效果

java生成棋盘的更多相关文章
- 设计一个自动生成棋盘格子的JS小程序
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Java生成和操作Excel文件(转载)
Java生成和操作Excel文件 JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该A ...
- 利用JAVA生成二维码
本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...
- Java生成验证码原理(jsp)
验证码的作用: 验证码是Completely Automated Public Turing test to tell Computers and Humans Apart(全自动区分计算机和人类的 ...
- JAVA生成条形码
1.下载生成条形码所需要的jar包barcode4j.jar: 2.java生成条形码代码 import java.awt.image.BufferedImage;import java.io.Fil ...
- Java生成CSV文件实例详解
本文实例主要讲述了Java生成CSV文件的方法,具体实现步骤如下: 1.新建CSVUtils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
- java 生成8位数字作为UID
java 生成8位数字作为UUID: /*** * 生成uid 8位数字 */public static String generateUID(){ Random random = new Rando ...
- java生成随机序列号
1.java生成随机序列号 String deleteUuid = UUID.randomUUID().toString(); 引用Jar包 //java-uuid-generator-3.1.3.j ...
- java生成简单Excel工作薄
前言: 代码都是建立在实际需求上的,上周做完一个调外部电影券接口的项目,这周产品又要excel表格,大致内容为:券所属影院.图片URL.等信息制作为excel表格,把每次同步过来的数据给他分析. jx ...
随机推荐
- P2371 [国家集训队]墨墨的等式
膜意义下最短路. 把最小的\(a\)抠出来,作为模数\(mod\),然后建点编号为\(0\)到\(mod-1\),对每个数\(a\)连边\((i,(a+i)\mod mod)\)点\(i\)的最短路就 ...
- Javascript与后台相互访问
(1)Javascript访问C#后台变量或函数 A.通过<%=%>的形式访问 var str = "<%=GetStr() %>"; var str = ...
- JAVA eclipse Maven项目红叹号解决方案
我是通过 Windows --> show view --> problems 查看到发现 ch.qos.logback 1.1.1 出现了错误, 于是我换成了 ch.qos.logbac ...
- 命令行模式和python交互模式
一.命令行模式 在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:>:. 二.Python交互模式 在命令行模式下敲命令python,就看到类似如下的一堆文本输出 ...
- Flutter - 给App增加启动屏幕(Splash Screen)并且设置背景颜色
先看一下效果图,启动图最好设置为png格式的透明图,以防图片填充不满的时候背景图会非常的煞白(Flutter 默认背景色是白色). 打开android\app\src\main\res\drawabl ...
- AppStore下载Xcode的文件
有的时候团队开发,手机系统一升级,那么对应的Xcode也就需要升级了,由于团队开发,可能一下要把所有人的都升级一下,那么最简单的就是下好一份Xcode然后分享给大家. 但是有的时候你就会发现,通过Ap ...
- 基于神念TGAM的脑波小车(1)
作者声明:此博客是作者的毕设心得,拿来分享. 拿到模块,在网上查了一圈,发现基本没什么有用的资料,有也是一些废话,经过我几个月的攻克,现在已初步搞定,分享给大家. 废话不多说,直接步入正题. 这是通过 ...
- Linux内核分析(第二周)
操作系统是如何工作的? 一.总结:三大法宝 1.存储程序计算机 + 函数调用堆栈 + 中断机制 2.堆栈:C语言程序运行时候必须的一个记录调用路径和参数的空间(函数调用框架/提供局部变量/传递参数/保 ...
- Docker的安装和使用说明——Docker for Windows
一.Docker安装 1.1官方方法 官方下载页面:http://www.docker.com/products/docker#/windows 官方下载地址:https://download.doc ...
- Perfmon - Windows 自带系统监测工具(转)
本文转自:http://blog.csdn.net/oscar999/article/details/7918385 一. 简述 可以用于监视CPU使用率.内存使用率.硬盘读写速度.网络速度等. Pe ...