2017-01-15 6 views
-1

グリッドがあります。 グリッドの背景がlightGrayになりました。 しかし、どのようにランダムな色のグリッドの背景を得ることができますか?一色ではありません。javafxランダムな色でグリッドを塗る方法

どうすればいいですか?

誰かが私を助けることができますか?

ありがとうございます。

コードは次のとおりです。

public class Grid2 extends Application { 

    double gridSize = 20; 

    @Override 
    public void start(Stage primaryStage) { 
     Scene scene = new Scene(new Group(), 800, 600); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 

     scene.setFill(createGridPattern()); 
    } 

    public ImagePattern createGridPattern() { 

     double w = gridSize; 
     double h = gridSize; 

     Canvas canvas = new Canvas(w, h); 
     GraphicsContext gc = canvas.getGraphicsContext2D(); 

     gc.setStroke(Color.BLACK); 
     gc.setFill(Color.LIGHTGRAY.deriveColor(1, 1, 1, 0.2)); 

     gc.fillRect(0, 0, w, h); 
     gc.strokeRect(0, 0, w, h); 

     Image image = canvas.snapshot(new SnapshotParameters(), null); 
     ImagePattern pattern = new ImagePattern(image, 0, 0, w, h, false); 

     return pattern; 

    } 


    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     launch(args); 
    } 

} 

答えて

0

あなたはおそらく別の色を得るためにあなたのグリッドの各セルの新しいJPanelの()オブジェクトを追加することができます。いくつかの特定のセルのグループの異なるコンポーネントを作ることによって、または1つのセルだけを作ることによって、同じ背景カラーを持つことができます。

+0

これを行う方法の例がありますか? – user7421107

関連する問題