2017-04-18 82 views
0

我目前正在試圖製作一個8x8板,似乎無法弄清楚爲什麼我的矩形對象沒有顯示。我試圖弄清楚一行之前的邏輯,然後再多次完成整個電路板。下面是我當前的代碼:爲什麼我的JavaFX應用程序中不會顯示任何內容?

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

public class Board extends Application { 

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

    public void start(Stage ps) { 

     TilePane tp = new TilePane(); 
     Pane p = new Pane(); 

     for (int column = 0; column > 8; column++) { 
      // This loop is used to determine the center of the rectangle 
      for (int x = 10; x < 160; x += 20) {   
       Rectangle r = new Rectangle(); 
       r.setWidth(20); 
       r.setHeight(20); 
       r.setX(x); 
       r.setY(10); 
       if (column == 0 || column % 2 == 0) { 
        r.setFill(Color.BLACK); 
       } 
       else { 
        r.setFill(Color.GREY); 
       } 
       tp.getChildren().add(r); 
      } 
     } 

     p.getChildren().add(tp); 
     Scene s = new Scene(p, 160, 160); 

     ps.setScene(s); 
     ps.setTitle("PP2 Halma Project"); 
     ps.show(); 
    } 
} 

回答

1
  1. for (int column = 0; column > 8; column++) - 這不會發生,因爲0不能超過8
  2. r.setX(x) - 我不認爲你需要這個。你應該讓TilePane爲你佈置矩形;你只需要爲它定義一個大小。
  3. Pane p = new Pane() - 我個人認爲這是多餘的。只使用TilePane沒有它將工作得很好。不過這不會導致你的程序出錯。
相關問題