从集合中向TableViewer添加元素?

时间:2017-04-01 18:48:03

标签: swt jface windowbuilder tableviewer

所以我正在尝试创建一个简单的程序,该程序接收有关贷款的一些基本信息,并将其转换为摊还表。

我正在使用WindowBuilder,因此我有一个Tableviewer应该有一个月,兴趣,付款等列。

不幸的是,我无法弄清楚如何让表格实际显示信息。我有一个Loan对象,它生成一个月份对象的ArrayList(每个月是表的一行),但是从我在网上看到的,并不像告诉Tableviewer用该arraylist中的变量填充每一列那么简单

我已将Content Provider设置为Loan对象,其中包含Month对象的Arraylist,每个Month对象都有一个每列的getter。

如何在每列中显示文字?

感谢。

编辑:

所以,以下是我给出的示例中的代码片段:

colFirstName.setLabelProvider(new ColumnLabelProvider() {
    @Override
    public String getText(Object element) {
            Person p = (Person) element;
            return p.getFirstName();
    }});

我不太明白这里发生了什么。它覆盖了getText方法,并将元素转换为具有数据的元素类型?

balanceCol.setLabelProvider(new ColumnLabelProvider(){
         @Override
            public String getText(Object element) {
                    Loan m = (Loan) element;
                    return m.getMonthObj().get(0).getMonth();
            }
    });

当我运行它时,它几乎可以运行。它填补了大约一半的月份,然后我收到了这个错误:

java.lang.ClassCastException: model.Month cannot be cast to model.Loan

0 个答案:

没有答案