如何在 javafx 中声明数组

How to declare array in javafx

我尝试了下面的代码,并且在 while 循环中获取了 "names" 的值,用于组合 box.But 在循环之外,我只从数据库中获取了最后一个值。

@FXML
private void fillcombobox()
{
    try
    {
        String sql = "select * from location";
        pst = gc.getConnection().prepareStatement( sql );
        rs = pst.executeQuery();
        while ( rs.next() )
        {
            String names = rs.getString( "Address" );
            combobox.getItems().add( names );
        }
    }
    catch ( Exception e )
    {
        System.out.println( "" + e );
    }
}

以上代码从 table 位置获取所有值,并获取列 "Address" 中存在的所有值。使用对象名称,我现在使用此代码在组合框中获取值:
combobox.getItems().add(names);

请帮助我在 while 循环之外获取值的可能方法。

String 是单个对象,它只能存储一个值,因此对于每个循环它都会更改值。这就是你获得最后价值的原因。任何 ?s post 评论

@FXML
private void fillcombobox() {
List<String> names=new ArrayList<String>();
  try {
    String sql = "select * from location";
    pst = gc.getConnection().prepareStatement( sql );
    rs = pst.executeQuery();
    while ( rs.next() )
    {
        String name = rs.getString( "Address" );
        names.add(name );
        combobox.getItems().add( names );
    }
    for(String name:names){
       System.out.println(name);
    }
 }
  catch ( Exception e )
  {
    System.out.println( "" + e );
  }
}