欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java打印國際象棋棋盤的方法

 更新時(shí)間:2019年05月22日 15:32:38   作者:落塵曦  
這篇文章主要為大家詳細(xì)介紹了java打印出國際象棋棋盤的相關(guān)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java打印出國際象棋棋盤的具體代碼,供大家參考,具體內(nèi)容如下

問題分析

觀察國際象棋棋盤的圖案,可以發(fā)現(xiàn)其中的規(guī)律:棋盤由八行八列黑白方塊相間組成,可以用i控制行,j來控制列,根據(jù)i+j的和的變化來控制輸出黑方塊還是白方塊。這里我們使用了Swing的標(biāo)簽組件JLable,通過設(shè)置JLabel組件的背景色和透明度來實(shí)現(xiàn)黑白方塊。

(1)確定程序框架

這是一個(gè)繪圖案例,這里我們采用JFrame創(chuàng)建窗口,然后在窗口里添加JLabel標(biāo)簽組件,通過前面的問題分析可知,JLabel標(biāo)簽要設(shè)置一些屬性實(shí)現(xiàn)黑白方塊,然后顯示窗口.

程序框架代碼如下:

import javax.swing.JFrame;
import javax.swing.JLabel;
 
public class First 
{ 
 public static void main(String[] args) 
 {
 JFrame f=new JFrame("國際象棋棋盤");//窗口屬性設(shè)置
 JLabel lab = new JLabel(); //生成標(biāo)簽實(shí)例
 
  f.add(lab); //添加標(biāo)簽
  f.setVisible(true); //顯示窗口
 }
 
}

(2)窗口屬性設(shè)置

窗口屬性設(shè)置包括窗口大小、位置等設(shè)置,其中窗口大小要滿足能夠容納黑白方格,這里指定黑白方格大小為:20*20,那么窗口屬性大小大概為:168*195。窗口位置可以隨便指定,這里指定為:(350,200)。程序代碼如下:

//窗口設(shè)置大小
f.setSize(168,195); //邊框的長和寬
  
//窗口設(shè)置位置
Point point=new Point(350,200);
f.setLocation(point);

(3)標(biāo)簽屬性設(shè)置

標(biāo)簽的屬性主要是標(biāo)簽的位置及背景色,棋盤是由八行八列黑白方塊相間組成,可以通過雙重循環(huán)來實(shí)現(xiàn),用i控制行,j來控制列,位置很容易設(shè)置,根據(jù)i+j的和的變化來設(shè)置背景色,表示黑方塊還是白方塊。程序代碼如下:

int grids=8; //行數(shù)和列數(shù)
int gridsize=20; //單元格的高和寬
  
for(int i=0; i<grids; i++)
{
 for(int j=0; j<grids; j++)
 {
 JLabel l = new JLabel(); //生成標(biāo)簽實(shí)例
 l.setSize(gridsize,gridsize); //設(shè)置標(biāo)簽大小
 l.setLocation(i*gridsize,j*gridsize); //設(shè)置標(biāo)簽位置
 if((i+j)%2==0)
 { //當(dāng)小方格的坐標(biāo)和剛好是偶數(shù)時(shí),
 l.setBackground(Color.black); //設(shè)置方格為黑色
 l.setOpaque(true); //設(shè)置為不透明 
 }
 else
 {
 l.setBackground(Color.white); //設(shè)置方格為白色
 l.setOpaque(true); //設(shè)置為不透明 
 }
 l.setBorder(BorderFactory.createLineBorder(Color.black)); //設(shè)置邊界為黑色
 }
}

完整代碼:

import java.awt.Color;
import java.awt.Point;
 
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
 
public class First 
{ 
 public static void main(String[] args) 
 {
 JFrame f=new JFrame("國際象棋棋盤"); //創(chuàng)建窗口
 f.setSize(168,195); //窗口設(shè)置大小 //邊框的長和寬 
 //窗口設(shè)置位置
 Point point=new Point(350,200);
 f.setLocation(point);
 int grids=8;  //行數(shù)和列數(shù)
 int gridsize=20; //單元格的高和寬
  
 for(int i=0; i<grids; i++) //外循環(huán)控制行
 {
 for(int j=0; j<grids; j++) //內(nèi)循環(huán)控制列
 {
 JLabel l = new JLabel(); //生成標(biāo)簽實(shí)例
 l.setSize(gridsize,gridsize); //設(shè)置標(biāo)簽大小
 l.setLocation(i*gridsize,j*gridsize); //設(shè)置標(biāo)簽位置
 if((i+j)%2==0)
 { //當(dāng)小方格的坐標(biāo)和剛好是偶數(shù)時(shí),
 l.setBackground(Color.black); //設(shè)置方格為黑色
 l.setOpaque(true); //設(shè)置為不透明 
 }
 else
 {
 l.setBackground(Color.white); //設(shè)置方格為白色
 l.setOpaque(true); //設(shè)置為不透明 
 }
 l.setBorder(BorderFactory.createLineBorder(Color.black)); //設(shè)置邊界為黑色
 f.add(l); //添加標(biāo)簽
 }
 }
 f.setVisible(true); //顯示窗口
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java鏈表數(shù)據(jù)結(jié)構(gòu)及其簡單使用方法解析

    Java鏈表數(shù)據(jù)結(jié)構(gòu)及其簡單使用方法解析

    這篇文章主要介紹了Java鏈表數(shù)據(jù)結(jié)構(gòu)及其簡單使用方法解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Java中正則表達(dá)式去除html標(biāo)簽

    Java中正則表達(dá)式去除html標(biāo)簽

    Java中正則表達(dá)式去除html的標(biāo)簽,主要目的更精確的顯示內(nèi)容,接下來通過本文給大家介紹Java中正則表達(dá)式去除html標(biāo)簽的方法,需要的朋友參考下
    2017-02-02
  • java實(shí)現(xiàn)銀行ATM管理系統(tǒng)

    java實(shí)現(xiàn)銀行ATM管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)銀行ATM管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • java字符串遍歷的幾種常用方法總結(jié)

    java字符串遍歷的幾種常用方法總結(jié)

    Java字符串是一系列的Unicode字符序列,但是它卻常常被誤認(rèn)為是char序列,這篇文章主要給大家介紹了關(guān)于java字符串遍歷的幾種常用方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • mybatis-plus樂觀鎖實(shí)現(xiàn)方式詳解

    mybatis-plus樂觀鎖實(shí)現(xiàn)方式詳解

    這篇文章主要介紹了mybatis-plus樂觀鎖實(shí)現(xiàn)方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)貪心算法的實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)貪心算法的實(shí)現(xiàn)

    本文主要介紹了Java數(shù)據(jù)結(jié)構(gòu)貪心算法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2007-03-03
  • Java 程序設(shè)計(jì)總復(fù)習(xí)題(java基礎(chǔ)代碼)

    Java 程序設(shè)計(jì)總復(fù)習(xí)題(java基礎(chǔ)代碼)

    這篇文章主要介紹了Java 程序設(shè)計(jì)總復(fù)習(xí)題,主要是java基礎(chǔ)代碼,方便學(xué)習(xí)java的同學(xué)
    2021-05-05
  • Java循環(huán)結(jié)構(gòu)之多重循環(huán)及continue?break

    Java循環(huán)結(jié)構(gòu)之多重循環(huán)及continue?break

    這篇文章主要介紹了Java循環(huán)結(jié)構(gòu)之多重循環(huán)及continue?break,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • Mybatis動(dòng)態(tài)SQL實(shí)例詳解

    Mybatis動(dòng)態(tài)SQL實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于Mybatis動(dòng)態(tài)SQL的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java如何遠(yuǎn)程加載class文件

    java如何遠(yuǎn)程加載class文件

    這篇文章主要介紹了java如何遠(yuǎn)程加載class文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論