0

我的程序有一个有 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 行填充)

4

1 回答 1

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(....);
于 2013-04-01T10:09:16.127 回答