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);