本程序使用矩形类(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方法
}
}



