相关疑难解决方法(0)

JTable中的页脚行

将页脚行放入JTable的最佳方法是什么?有没有人有任何示例代码来执行此操作?

到目前为止,我唯一想到的方法是在表模型中放一个特殊的行,它总是被排序到底部.


这是我最终得到的:

JTable mainTable = new JTable(mainTableModel);
JTable footerTable = new JTable(footerModel);
footerTable.setColumnModel(mainTable.getColumnModel());

// Disable selection in the footer. Otherwise you can select the footer row
// along with a row in the table and that can look quite strange.
footerTable.setRowSelectionAllowed(false);
footerTable.setColumnSelectionAllowed(false);

JPanel tablePanel = new JPanel();
BoxLayout boxLayout = new BoxLayout(tablePanel, BoxLayout.Y_AXIS);
tablePanel.setLayout(boxLayout);
tablePanel.add(mainTable.getTableHeader()); // This seems like a bit of a WTF
tablePanel.add(mainTable);
tablePanel.add(footerTable);
Run Code Online (Sandbox Code Playgroud)

排序工作正常,但选择页脚行有点奇怪.

java swing jtable

5
推荐指数
1
解决办法
1万
查看次数

JavaFX TableView排序策略

我有一个tableview,它有一个可观察的自定义类对象列表(类类型:SalesInvoiceNetSale).表中的数据都很好.可观察列表中的最后一项是总计行(类类型:SalesInvoiceNetSaleTotal,它扩展了SalesInvoiceNetSale类).如果用户尝试按列对表进行排序,我只希望让我的表不对数组中的最后一条记录进行排序.我发现另一个帖子几乎都在询问如何做同样的事情,但似乎无法解决这个问题,我怀疑这是我对Java 8的Lambda表达式的不了解.TableView从排序中排除底行(总计)

public ObservableList<SalesInvoiceNetSale> applyTableTotalsToSalesInvoiceNetSaleList(ObservableList<SalesInvoiceNetSale> data, TableView table) {

    // Adds A Total Row To The Table View & Disables The Sort Policy 
    double netValueTotal = 0;
    double netDelivery = 0.0;
    double netOversize = 0.0;
    double netDeposit = 0.0;

    for (SalesInvoiceNetSale i : data) {
        netValueTotal += i.getNetValue();
        netDelivery += i.getNetShipping();
        netOversize += i.getNetOversize();
        netDeposit += i.getNetDeposit();
    }

    SalesInvoiceNetSaleTotal rowTotal = new SalesInvoiceNetSaleTotal();
    rowTotal.setNetValue(netValueTotal);
    rowTotal.setNetShipping(netDelivery);
    rowTotal.setNetDeposit(netDeposit);
    rowTotal.setNetOversize(netOversize);
    rowTotal.setLabel("Totals");

    data.add(rowTotal);

    table.sortPolicyProperty().set(t -> {
        Comparator<Row> comparator = (r1, r2)
                -> r1 …
Run Code Online (Sandbox Code Playgroud)

javafx tableview

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

javafx ×1

jtable ×1

swing ×1

tableview ×1