当前位置: 首页 > 知识库问答 >
问题:

生成int列表以在JavaFX中填充组合框

罗祺
2023-03-14

我试图避免将一大堆数字硬编码到我的JavaFX ComboBox中,但我不知道有任何其他方法可以做到这一点。目前我正在这样做:

length_comboBox.getItems().addAll(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30);

然而,我的目标是调用一个方法,该方法将生成一个达到某个指定上限(例如50)的数字列表。我尝试了以下方法,但它只是添加了最后一个i,而不是全部50:

length_comboBox.getItems().addAll(generator(50));

public static int generator(int limit) {
int i;
for (i = 1; i < limit; i++)
    System.out.println(i);
return i;
}

共有2个答案

越朗
2023-03-14

你可以用一个衬里

IntStream.rangeClosed(1,50).boxed().forEach(length_comboBox.getItems()::add);

或者,如果您想向组合框触发较少的更改事件(实际上,这几乎没有什么区别):

length_comboBox.getItems().setAll(
    IntStream.rangeClosed(1,50).boxed().collect(Collectors.toList())
);  
贾建茗
2023-03-14
ComboBox cBox = new ComboBox();
cBox.getItems().addAll(generator());

。。。实例

private Integer[] generator() {
    int size = (int) (Math.random() * 100);
    Integer[] result = new Integer[size];

    for (int i = 0; i < result.length; i++) {
        result[i] = (int) (Math.random() * 50);

    }
    return result;
}
 类似资料:
  • 我想在一个组合框中填充一些数据。这很好。但是,我想动态地改变组合框中的数据。 目前我有一个表,在组合框中,我在表列中显示数据的唯一值。现在,表数据存储在静态可观察列表变量中。我想根据表中显示的数据更改组合框中的数据。也就是说,如果存储表数据的静态可观察列表发生更改,我希望在没有手动干预的情况下更改组合框数据。 如果没有单独的静态变量用于组合框,这是否可能?

  • 问题内容: 我已经在Java Fx中创建了一个表格视图,表格视图中的列之一由ComboBoxTableCell组成。请在下面的表格视图代码中找到 数据对象: 在上面的代码中,表的每一行均为TabVo类型。 在表中column1是组合框类型。现在,column1组合框的列表由在’TabViewController’中声明的’column1List’填充,因此表视图的所有行都填充有相同的下拉列表。 但

  • 我一直在看教程,我似乎无法得到一个表来填充。我也在使用net beans和scenebuilder。如有任何帮助,我们将不胜感激!挣扎了5个小时。 下面是的代码 以下是我的主要内容:

  • 我正在查询Sql Server并返回一个List-我想使用此List作为我的组合框的源。下面是我正在使用的代码,它运行时没有错误,但我的组合框始终为空并且从不填充。这里有什么不正确的? 主要的Java语言 样品fxml

  • 我无法填充从场景生成器创建的JavaFX组合框。虽然我已经搜索过了,但我找不到解决这个错误的方法。 下面的例子都不管用。 帮助将不胜感激。

  • 我试图用列表中的字符串数组动态填充TableView(我想有更好的方法来处理信息,但这是我被赋予的任务…),所以我创建了一个TableView,创建了所有的列和东西,但在填充TableView的时候我迷路了。 列表中有所有的字符串数组,一切似乎都正常工作,任何数组上都没有MissPlated数据或类似的东西,当我运行项目时,列名按照我希望的方式出现,列表中的每个数组在tableview上都有一行,