我的程序有一个包含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行填充)
答案 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(....);