【问题标题】:populate jlist at gui class from entity class从实体类填充 gui 类的 jlist
【发布时间】: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;
}

【问题讨论】:

    标签: java swing entity-framework jdbc jlist


    【解决方案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 循环中查看正在返回的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多