首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX GridPane计划

JavaFX GridPane计划
EN

Stack Overflow用户
提问于 2018-03-10 08:30:51
回答 1查看 370关注 0票数 0

任务:“编写一个接受正整数n并显示n x n棋盘的程序。只需更改代码中的一行,即可编写程序使其适用于不同的n值。在网格窗格中使用不可编辑的文本字段对象,并使用css更改颜色。

我不明白为什么我的代码只生成两行和太多列?我只是在试着做5x5。抱歉,缺少javadoc注释。

代码语言:javascript
复制
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;


    public class SD_Checkerboard extends Application {
    @Override
    public void start(Stage s) {
     //Create the integers for creating the grid.
    int n=5;
    int row;
    int column;



    //Create the gridpane.
    GridPane grid = new GridPane();

     for(row=0; row<n; row++) {
     for(column=0; column<n; column++) {
   TextField box = new TextField();
   box.setEditable(false);

   if(row + column % 2== 1){
     box.setStyle("-fx-background-color: black");
     grid.add(box,column,row);
   }
   else {
    box.setStyle("-fx-background-color: white");
    grid.add(box,column,row);
   }

   }
   }
     s.setScene(new Scene(grid));
     s.setTitle("Checkerboard");
      s.show();

    }

    public static void main(String[] args) {
      launch(args); 
      }

     }
EN

回答 1

Stack Overflow用户

发布于 2018-03-10 09:45:39

与乘法和除法一样,模算术比加法具有更高的优先级。所以row + column % 2应该是(row + column) % 2

文本字段就在那里,它们只是没有像您想象的那样着色:基本上,一旦您到达row=2,它们都是白色的(因为row + column % 2row + (column % 2)相同,如果为row>1,则始终为>1 )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49204111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档