1
我現在正面臨一個問題,我認爲我的主要是一遍又一遍地執行一個方法,而不是一次。如果我按照一個例子解釋它,它會更好。我已經能夠編制一個掃雷遊戲。但是我把它全部寫在一個班級MAIN中。這次我正在嘗試再次使用方法和類,爲了實踐和更好的概述。 正如您所看到的,在我的類計算中,我正在嘗試創建一個標籤數組。在我的主要我試圖從GridPane中的數組添加所有的標籤。由於這是一個掃雷遊戲,我必須添加隨機炸彈,在我的例子中這將是「X」。我做了這個小測試,如果它工作lbs [10] .setText(「x」),只是爲了看看它是否工作。它沒有。一旦這個方法被調用,它將把所有標籤的文本設置爲X!我也想在這個類中設置一個onMouseClicked事件。我將不勝感激任何幫助,並感謝您抽出時間閱讀本文。我包圍了代碼與#標籤 - > ######調用方法(掃雷)的問題
//Main
package application;
import...
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
GridPane grid = new GridPane();
Scene scene = new Scene(grid, (20 * 20), (20 * 20));
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
for(int i = 0; i < 20; i++) {
ColumnConstraints column = new ColumnConstraints(20);
grid.getColumnConstraints().add(column);
}
for(int i = 0; i < 20; i++) {
RowConstraints row = new RowConstraints(20);
grid.getRowConstraints().add(row);
}
//#########################################################
Calculations c = new Calculations();
int count = 0;
for (int x = 0; x < c.test().length/20; x++)
{
for (int y = 0; y < c.test().length/20; y++)
{
grid.add(c.test()[count], x, y);
count++;
}
}
//#########################################################
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
在這裏,我的課「計算」
package application;
import...
public class Calculations {
public Label[] test() {
Label label = new Label();
Label lbs[] = new Label[20*20];
int a = 0;
for (int i = 0 ; i < 400; i++) {
lbs[i] = label;
}
lbs[10].setText("x"); //##### <- doesnt work the way it should be
return lbs;
}
}
謝謝SOOO了!這種簡單的錯誤讓我忙了好幾天!你是否也知道如何在類Calculations中放置一個onMouseClicked事件?我想,讓我們說,每當我點擊一個標籤,應該發生什麼事情。可以說標籤文字是「X」?我嘗試了很多方法。最近我把它放在For循環代碼中,但它不起作用:lbs [i] .setOnMouseClicked(e - > {label.setText(「X」);}); – dahood