java繪制五子棋棋盤
更新時(shí)間:2021年01月25日 14:19:13 作者:老闊丶啊~疼
這篇文章主要為大家詳細(xì)介紹了java繪制五子棋棋盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了java繪制五子棋棋盤的具體代碼,供大家參考,具體內(nèi)容如下
源碼:
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();
}
}
//創(chuàng)建畫板內(nèi)部類
class myJPanel extends JPanel{
//繪制方法
@Override
public void paint(Graphics g) {
//強(qiáng)制類型轉(zhuǎn)換得到Graphics子類Graphics2D對(duì)象
Graphics2D g2 = (Graphics2D)g;//又得到一支筆
//先JPanel繪制背景圖片
g2.drawImage(image,0,0,1600,900,null);
//設(shè)置畫筆顏色
g2.setColor(Color.CYAN);
//填充規(guī)定區(qū)域
g2.fill3DRect(50, 50, 700, 700, true);
//再設(shè)置畫筆顏色,畫直線
g2.setColor(Color.black);
//設(shè)置畫出直線的寬度
g2.setStroke(new BasicStroke(3));
//繪制下棋區(qū)域
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 );
}
//畫外框
//設(shè)置畫筆寬度
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);
//畫四個(gè)黑色圓
g2.fillOval(240, 240, 20, 20);
g2.fillOval(540, 240, 20, 20);
g2.fillOval(240, 540, 20, 20);
g2.fillOval(540, 540, 20, 20);
//填充框框與下棋區(qū)域之間的區(qū)域
g2.setColor(new Color(176, 166, 100, 254));//設(shè)置畫筆顏色
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(){
//創(chuàng)建畫布
myJPanel canvas =new myJPanel();
//添加畫板
add(canvas);
//改變圖標(biāo)
setIconImage(new ImageIcon("forGame\\src\\resource\\白棋.png").getImage());
//窗體不可變
setResizable(false);
//窗體可關(guān)閉
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//設(shè)置窗體大小
setBounds(0,0,1600,900);
//窗體顯示
setVisible(true);
}
public static void main(String[] args) {
new Demo().init();
}
}
效果圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java?數(shù)據(jù)交換?Json?和?異步請(qǐng)求?Ajax詳解
Json(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,采用鍵值對(duì)的形式來(lái)表示數(shù)據(jù),它廣泛應(yīng)用于Web開發(fā)中,特別適合于前后端數(shù)據(jù)傳輸和存儲(chǔ),這篇文章主要介紹了Java數(shù)據(jù)交換Json和異步請(qǐng)求Ajax,需要的朋友可以參考下2023-09-09
Mybatis-plus:${ew.sqlselect}用法說(shuō)明
這篇文章主要介紹了Mybatis-plus:${ew.sqlselect}用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
spring boot實(shí)現(xiàn)圖片上傳和下載功能
這篇文章主要為大家詳細(xì)介紹了spring boot實(shí)現(xiàn)圖片上傳和下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
java基于正則提取字符串中的數(shù)字功能【如提取短信中的驗(yàn)證碼】
這篇文章主要介紹了java基于正則提取字符串中的數(shù)字功能,可用于提取短信中的驗(yàn)證碼,涉及java基于正則的字符串匹配相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
jvm添加自定義dns實(shí)現(xiàn)過(guò)程示例
這篇文章主要為大家介紹了jvm添加自定義dns實(shí)現(xiàn)過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

