栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaFX编写国际象棋面板(Java8版本)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaFX编写国际象棋面板(Java8版本)

本程序使用矩形类(Rectangle)创建了一个国际象棋面板。

package JavaFX;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class Chess extends Application {
	private final int numberOfColumn = 8; //定义常量列数
	private final int numberOfRow = 8;    //定义常量行数
	
	@Override
	public void start(Stage primaryStage) throws Exception {
		Pane pane = new Pane(); 		//创建一个面板实例方法
		
		for (int i = 0; i < numberOfColumn ; i++) {
			getChessBoard(pane, i, 30); //调用getChessBoard(Pane pane, int row, int size)函数
		}
		
		Scene scene = new Scene(pane); 			//创建一个场景实例方法
		primaryStage.setTitle("ChessBoard"); 	//设置标题
		primaryStage.setScene(scene);			//设置场景
		primaryStage.setResizable(false);		//设置可改变大小为fasle(否)
		primaryStage.show(); 					//舞台展示
	}
	
	//返回国际象棋面板
	private void getChessBoard(Pane pane, int row, int size) {
		int x = row*size; 		//x = 行数 * 大小(边长)
		for (int j = 0 ; j < numberOfRow*(size-2); j+=size) {	//j小于行数*(大小-2)用于确定矩形数目,j+=size用于确定下一个矩形与前一个保持相同大小
				Rectangle rectangle = new Rectangle(x,j,size,size); 	//创建一个矩形实例方法(x坐标,y坐标,宽度,高)
				
				if((row+1)%2!=0) 	//如果row+1(行数)为奇数,矩形设置填充为白色
					rectangle.setFill(Color.WHITE);
				
				row++;
				pane.getChildren().add(rectangle); 	//pane面板加入rectangle对象
			}
	}
	
	public static void main(String[] args) {
		launch(args); //启动start方法
	}

}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/298624.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号