TYLER LE
TYLER LE

Reputation: 25

How do I change the numbers on an array of buttons?

My buttons are currently displaying numbers 1-9, but I don't know how to display the numbers 9-1.

I already using different numbers in my for loops, but it still did not work for me.

   for (int row=0; row<3; row++) {
        for (int col = 1; col<4; col++) {
            int pieces = row*3 + col;
            String count = Integer.toString(pieces);
            Button button = new Button(count);

            GridPane.setRowIndex(button, row);
            GridPane.setColumnIndex(button, col);
            keypad.getChildren().add(button);

            button.setMinSize(80, 80);

        }
    }

Upvotes: 0

Views: 116

Answers (1)

Samuel Philipp
Samuel Philipp

Reputation: 11042

Just subtract the calculated number from the maximum number to count backwards:

int rows = 3;
int cols = 3;
for (int row = 0; row < rows; row++) {
    for (int col = 0; col < cols; col++) {
        int pieces = rows * cols - (row * 3 + col);
        String count = Integer.toString(pieces);
        // ...
    }
}

Alternatively you can reverse the both for loops:

for (int row = 2; row >= 0; row--) {
    for (int col = 3; col > 0; col--) {
        int pieces = row * 3 + col;
        String count = Integer.toString(pieces);
        // ...
    }
}

Upvotes: 2

Related Questions