java如何使用ArrayList在表单中填充选项列表
我需要用外部类(同一个包)中的ArrayList填充表单中的choice组件
数据库列表。爪哇: 包pmi。sqltoxml
import java.util.ArrayList;
public class DatabaseList {
public void SetLista() {
ArrayList<String> db = new ArrayList<>();
db.add("ADB_PMISOFTWARE");
db.add("ADB_DEMO");
}
}
主窗体。爪哇:
public class Mainform extends javax.swing.JFrame {
DatabaseList db = new DatabaseList();
public Mainform() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
choice1 = new java.awt.Choice();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
choice1.setName("dbList"); // NOI18N
for (String dbItem : db ){
choice1.add(dbItem);
}
...
Netbeans告诉我
for-each
not applicable to expression type. RequiredArray
orjava.lang.iterable
. Found:DatabaseList
.
但是,ArrayList
不是iterable
接口吗
# 1 楼答案
您必须返回列表:
然后你可以这样调用你的方法:
# 2 楼答案
使
db
列表成为类的private
成员,并在DatabaseList
类中添加一个getter(getDb()
),然后对其进行迭代(for (String dbItem: db.getDb())
)或者创建一个
getList()
方法,返回List
:您的自定义类
DatabaseList
不是List
/Iterable
本身,只是一个包装器,因此不能在enhanced for loop中使用