从实体类填充 gui 类的 jlist
Posted
技术标签:
【中文标题】从实体类填充 gui 类的 jlist【英文标题】:populate jlist at gui class from entity class 【发布时间】:2013-10-20 18:19:59 【问题描述】:我知道这是一个常见的问题,因为到处都有视频,但它们让我更接近目标,但没有达到目标。
根据推荐的做法,我已将文件打包成: - 边界(GUI 类) - 实体(getter、setter、populateJList()) - 数据库(数据库访问对象)
我希望通过以下方法@Entity 填充位于@boundary 的JList。我该如何明确地这样做?
public void populateJList()
DefaultListModel m = new DefaultListModel();
ResultSet rs = null;
DataAccessObject db = new DataAccessObject();
db.setUp("customer");
String dbQuery = "SELECT food_Category FROM store_owner";
rs = db.readRequest(dbQuery);
try
while (rs.next())
food_Category = rs.getString("food_Category");
m.addElement(food_Category);
catch (Exception e)
e.printStackTrace();
db.terminate();
//return success;
【问题讨论】:
【参考方案1】:我希望通过以下方法填充位于@boundary 的 JList
然后您需要更改方法签名以返回 ListModel。比如:
public ListModel populateJList()
DefaultListMoodel model = new DefaultListModel();
...
return model;
现在,当您调用该方法时,您的代码将类似于:
JList list = new JList( populateModel() );
【讨论】:
谢谢。所以如果我的类@实体被命名为“食物”,我将执行以下操作: Food food = new Food(); JList list = new JList(food.populateJList()); 另外,我试图做一个 println @ populateModel() 但它没有成功。所以我继续尝试您的建议,显示的所有 jlist 都是 []。这是否意味着我的 DAO 不正确? 我没用过DAO,所以不知道它是怎么工作的。通常,如果查询没有返回任何行,则 DefaultListModel 将只是空的,因为没有添加任何内容。如果您看到“[]”,则查询似乎正在返回该值。您需要做的就是在一个 println(...) 语句到 while 循环中查看正在返回的数据。以上是关于从实体类填充 gui 类的 jlist的主要内容,如果未能解决你的问题,请参考以下文章