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://www.uj5u.com/houduan/252668.html
標籤:java
