GUI(国际象棋棋盘)

package com.niit.javagui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridLayout;
import java.awt.Label;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;

/**
 * @author: Annie
 * @date:2016年5月30日
 * @description:国际象棋棋盘
 */
public class WinGrid extends JFrame{

    public static void main(String[] args) {
        new WinGrid();

    }
    GridLayout grid;
    JPanel chessboard;

    public WinGrid() {
        grid = new GridLayout(12, 12);
        chessboard = new JPanel();
        chessboard.setLayout(grid);

        Label[][] label = new Label[12][12];
        for (int i = 0; i < label.length; i++) {
            for (int j = 0; j < label.length; j++) {
                label[i][j] = new Label();
                if((i+j)%2==0)
                    label[i][j].setBackground(Color.black);
                else
                    label[i][j].setBackground(Color.white);
                    chessboard.add(label[i][j]);
            }
        }
        add(chessboard,BorderLayout.CENTER);
        add(new JButton("北方参战者"),BorderLayout.NORTH);
        add(new JButton("南方参战者"),BorderLayout.SOUTH);
        add(new JButton("西方参战者"),BorderLayout.WEST);
        add(new JButton("东方参战者"),BorderLayout.EAST);
        setBounds(10, 10, 570, 390);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        validate();    

    }

}

效果图:

时间: 2024-11-06 07:16:04

GUI(国际象棋棋盘)的相关文章

javascript简单写出国际象棋棋盘

关于昨天的一个作业,做了一个国际象棋的棋盘,效果图如下 这里的思路是根据off=true的值进行反转来判断单元格的颜色. 就那第一行来说,当条件语句if的off=true则输出str+='<td class="td01"></td>';,然后off=!off进行反转,得到off=false.在下一次循环条件语句if的off=false,则输出str+='<td class="td02"></td>';,然后off=!o

python用turtle画国际象棋棋盘

python学习的练习 用turtle画的国际象棋棋盘 import turtle turtle.speed(10) a = 30 #画背景 turtle.up() turtle.goto( -10, -10) turtle.down() turtle.fillcolor("Khaki") turtle.begin_fill() turtle.fd( a * 8 + 20) turtle.left(90) turtle.fd( a * 8 + 20) turtle.left(90) t

Linux Shell编程基础---国际象棋棋盘

这两天在学习一些shell编程的知识,在做到一道国际象棋的题目时,觉得有些意思,就将它写成博客. 先来看看国际象棋棋盘长啥样: 仔细想了会棋盘的分布规则,这个问题肯定有很多思路,我自己想到的是规则是1.将棋盘行数作为一个大循环,循环8次,每次循环根据行号的奇偶来确定格子颜色的次序:2.在单个行中,循环8次并判断列的奇偶数来确定打印颜色以上思路能够打印出最简单的棋盘,但是shell中一个空格的显示形状并非正方形,而且是空格的高度大于宽度.因此需要在单个棋盘的行的打印循环外在加一层控制打印空格行数的

linux国际象棋 棋盘脚本.md(含脚本注释,查看更直观)

linux国际象棋 棋盘脚本.md(含脚本注释,查看更直观) 最终效果: 题目:编写脚本,实现打印国际象棋棋盘 路径:(仅作者) PDF:D:\Download_SD-Date and Bak(D盘 下载)\学习资料\pdf文件\基础知识\15SHELL脚本编程进阶.pdf ? 15SHELL脚本编程进阶.pdf ? 5.编写脚本,实现打印国际象棋棋盘 视频:(仅作者)17.18天 ? 逻辑:(详见代码注释) 1.循环[for done] 深浅 格子. 2.简化 嵌套 第二层 循环[for do

Python算法题(二)——国际象棋棋盘(排列组合问题,最小的K个数)

题目一(输出国际象棋棋盘)  分析: 用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.   主要代码: for i in range(8): for j in range(8): if (i+j)%2!=0: print(chr(219)*2,end='') else: print(' ',end='') print('') 题目二(排列组合问题)   有1.2.3.4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?   分析:  我们可以先预测一下,共有2

python3 turtle 画国际象棋棋盘

#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan import turtle n = 60 # 每行间隔 x = -300 # x初始值 y = -300 # x初始值 turtle.speed(11) turtle.pensize(2) # 先画8*8的正方形,并按要求涂黑 for i in range(8): for j in range(1, 9): turtle.penup() turtle.goto(x

棋盘的多米诺覆盖:Dimer Lattice Model,Pfaff 多项式,Kasteleyn 定理

这次来介绍计数组合学里面一个经典的问题:Dimer Lattice Model.问题是这样的:一个有 64 个方格的国际象棋棋盘,有多少种不同的多米诺骨牌覆盖?这里的覆盖是指不重复不遗漏地盖住整个棋盘. 下图是一种可能的覆盖方式(图片来自 Wiki 百科): 这个问题的答案是 12988816,非常大的一个数字,绝对不是一个一个数出来的.1961 年德国物理学家 Kasteleyn 借助于线性代数中的一个结论首先解决了这个问题,我们接下来就介绍他的方法. ~~~~~~~~~~~~~~~~~~~~

棋盘覆盖及匈牙利算法

题目描述 Description 给出一张n*n(n<=100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖. 输入描述 Input Description 第一行为n,m(表示有m个删除的格子)第二行到m+1行为x,y,分别表示删除格子所在的位置x为第x行y为第y列 输出描述 Output Description 一个数,即最大覆盖格数 样例输入 Sample Input 8 0 样例输出 Sample Output 32 数据范围及提示 Data Size &am

hdu1372 dfs搜索之国际象棋的马

原题地址 题意 一个8x8的国际象棋棋盘,你有一个棋子"马".算出棋子"马"从某一格到另一格子的最少步数. 与普通dfs不同的是,你能走的路线不是上下左右,四个方向.而是由"日" 字组成的8个方向.虽然是国际象棋的马,但是其实和中国象棋的马走法还是一样的. 代码 #include<iostream> #include<cstdio> #include<cstring> using namespace std;