最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

問題分析

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

(1)確定程序框架

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

程序框架代碼如下:

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

(2)窗口屬性設置

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

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

(3)標簽屬性設置

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

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(); //生成標簽實例
 l.setSize(gridsize,gridsize); //設置標簽大小
 l.setLocation(i*gridsize,j*gridsize); //設置標簽位置
 if((i+j)%2==0)
 { //當小方格的坐標和剛好是偶數(shù)時,
 l.setBackground(Color.black); //設置方格為黑色
 l.setOpaque(true); //設置為不透明 
 }
 else
 {
 l.setBackground(Color.white); //設置方格為白色
 l.setOpaque(true); //設置為不透明 
 }
 l.setBorder(BorderFactory.createLineBorder(Color.black)); //設置邊界為黑色
 }
}

完整代碼:

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); //窗口設置大小 //邊框的長和寬 
 //窗口設置位置
 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++) //內循環(huán)控制列
 {
 JLabel l = new JLabel(); //生成標簽實例
 l.setSize(gridsize,gridsize); //設置標簽大小
 l.setLocation(i*gridsize,j*gridsize); //設置標簽位置
 if((i+j)%2==0)
 { //當小方格的坐標和剛好是偶數(shù)時,
 l.setBackground(Color.black); //設置方格為黑色
 l.setOpaque(true); //設置為不透明 
 }
 else
 {
 l.setBackground(Color.white); //設置方格為白色
 l.setOpaque(true); //設置為不透明 
 }
 l.setBorder(BorderFactory.createLineBorder(Color.black)); //設置邊界為黑色
 f.add(l); //添加標簽
 }
 }
 f.setVisible(true); //顯示窗口
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

万安县| 和平县| 固阳县| 泽库县| 祁门县| 通许县| 绵竹市| 陇南市| 明光市| 余姚市| 连州市| 长沙市| 景泰县| 鄂托克旗| 广安市| 昌宁县| 南充市| 绥阳县| 黔江区| 巨野县| 海林市| 巨鹿县| 威远县| 靖安县| 张家口市| 皮山县| 淮阳县| 丰镇市| 北碚区| 兰溪市| 虹口区| 阆中市| 邯郸市| 河南省| 大姚县| 额济纳旗| 越西县| 呼伦贝尔市| 将乐县| 麦盖提县| 丹凤县|