2017-08-10 126 views
-1

我試圖在JavaFX中創建一個hang子手。我在一個gridpane中有26個文本節點,但我不想爲每個節點創建一個方法,所以我想讓一個方法處理您點擊的文本節點。但我無法弄清楚如何去做。任何幫助?JavaFX從GridPane中獲取行和列

回答

1

創建需要一個String參數表示在其發生點擊文本的方法:

private GridPane grid ; 
private int numColumns ; 

private void processClick(String text) { 
    // ... 
} 

,然後就調用它從每個處理程序,例如:

for (char c = 'A' ; c <= 'Z' ; c++) { 
    String s = Character.toString(c); 
    Text text = new Text(s); 
    text.setOnMouseClicked(e -> processClick(s)); 
    grid.add(text, (c-'A') % numColumns, (c-'A')/numColumns); 
} 

(如果無論出於何種原因,您確實需要行列,您可以同樣輕鬆地使您的方法獲取這些值並從處理程序中傳遞給它們。)