仅打印带有徽标的JTable填充数据

时间:2013-04-01 09:31:07

标签: java swing printing jtable rowfilter

我的程序有一个包含100个空白行的JTable。 让用户只填充10行。现在,他只想打印顶部带有徽标的填充行。 怎么做?

以下是我使用的代码:

if(e.getSource() == print){
    try {
        table.print(JTable.PrintMode.FIT_WIDTH, head, null); 
    } catch (java.awt.print.PrinterException e1) {
         System.err.format("Cannot print %s%n", e1.getMessage()); 
    }
}

它只打印所有100行。

我想只打印已填充的行(让前10行填充)

1 个答案:

答案 0 :(得分:2)

您可以在打印前过滤空行:

table.setAutoCreateRowSorter(true);
RowFilter filter = new RowFilter() {

    public void include(Entry entry) {
        // here add a loop which checks if 
        // any of the values in the entry is not-null
        // return true if yes, false otherwise (that is all empty)
    }
};
((DefaultRowSorter) table.getRowSorter()).setRowFilter(filter);
table.print(....);