public static boolean setVisible(Component parent, PageTableModel ptm, double width) {
   ColumnVisible pane = new ColumnVisible(ptm);
   if (ModalDialog.doModal(parent, pane, StringResource.getString("columnVisibleDlgTitle"))) {
     for (int i = 0; i < pane.tm.getRowCount(); i++) {
       ptm.setVisible(i, (Boolean) pane.tm.getValueAt(i, 0));
     }
     ptm.buildVisibleIndices();
     ptm.fireTableChanged(new TableModelEvent(ptm));
     ptm.setPage(ptm.getPage());
     return true;
   }
   return false;
 }
  private void createTableModel() {
    String[] columnTitles =
        new String[] {
          StringResource.getString("columnVisibleTbTitle1"),
          StringResource.getString("columnVisibleTbTitle2")
        };
    tm =
        new DefaultTableModel(columnTitles, pagedTm.tm.getColumnCount()) {
          public Class<?> getColumnClass(int arg0) {
            if (arg0 == 0) return Boolean.class;
            else return String.class;
          }

          public boolean isCellEditable(int arg0, int arg1) {
            return (arg1 == 0);
          }
        };
    for (int i = 0; i < pagedTm.tm.getColumnCount(); i++) {
      tm.setValueAt(pagedTm.isVisible(i), i, 0);
      tm.setValueAt(pagedTm.tm.getColumnName(i), i, 1);
    }
  }
 public PrintAction(Printer printer) {
   super("", new ImageIcon(FJReport.class.getResource("resources/print.gif")));
   this.printer = printer;
   putValue(SHORT_DESCRIPTION, StringResource.getString("btnPrintHint"));
 }