我正在使用 javafx 创建记分牌。
我的程序有一个表,其中一列是游戏 ID。当您按下新游戏时,您最多可以添加 10 名玩家。输入球员姓名并按下按钮将球员添加到表格列中。我在下面提供了图片,以便您更清楚地了解。
这是我卡住的地方。我需要在行上添加每场比赛的分数。因为我根据玩家的数量生成自定义数量(2-10)的列。我无法使用此代码,因为我不知道 Score Class 中的 score 构造函数需要多少参数。
如果添加了 3 个玩家,有没有办法在 score 类中创建 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);