0

javafxでスコアボードを作成しています。
私のプログラムにはテーブルがあり、1 つの列はゲーム ID です。新しいゲームを押すと、最大 10 人のプレイヤーを追加できます。プレーヤーの名前を入力し、ボタンを押してプレーヤーをテーブルの列に追加します。以下に写真を用意しましたので、より明確に理解していただけます。

プレイヤーの追加

プレイヤーが列に追加された後

ここが私が立ち往生している場所です。行にゲームごとのスコアを追加する必要があります。プレイヤーの数に応じてカスタム数 (2 ~ 10) の列を生成しているためです。Score Class のスコア コンストラクターに必要なパラメーターの数がわからないため、このコードを使用できません。

3 人のプレーヤーが追加された場合、スコア クラスに 3 つの int パラメータを作成する方法はありますか? または、別の方法でこれにアプローチできますか?別のオプションとして、下に乱数を追加し、行を実際のスコアに合わせて動的に編集することもできますが、プログラムは列の数がわからないため、これも困難です。

public ObservableList<Score> getScore() {
        ObservableList<Score> scores= FXCollections.observableArrayList();
        scores.add(new Score(10,12,13,11,15,90));
        scores.add(new Score(100,10,29,29));
        return scores;
    } 

私がどのように見えるべきだと思うかの例:

Game Nr:|Bill Gates | Steve Jobs |
   1    |    80     |    10      |
   2    |    6      |    75      |

PS: 列を合計して合計スコアを表示する方法はありますか。合計を最後の行にしたいので、スコアを含む新しい行を追加しても、その行の下に合計が表示されます。

テキストフィールドから列にプレーヤーを追加するために使用されるコード:

        TableColumn<Player, String> p1 = new TableColumn<>(player1.getText());
        TableColumn<Player, String> p2 = new TableColumn<>(player2.getText());
        TableColumn<Player, String> p3 = new TableColumn<>(player3.getText());
        table.getColumns().addAll(p1, p2, p3);
4

1 に答える 1