1 package org.wcb.gui.forms.report;
2
3 import org.wcb.gui.table.model.Faa8710Model;
4 import org.wcb.gui.renderer.ColorRowsTableCellRender;
5 import org.wcb.gui.util.TableUtils;
6 import org.wcb.model.util.SpringUtil;
7 import org.wcb.model.service.IServicesConstants;
8
9 import javax.swing.*;
10 import java.awt.*;
11 import java.awt.print.PrinterException;
12 import java.text.MessageFormat;
13 import java.util.logging.Logger;
14 import java.util.logging.Level;
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class Faa8710Form extends JPanel {
44
45 private JTable jTableReport;
46 private Faa8710Model tableModel;
47 private Logger LOG = Logger.getLogger(Faa8710Form.class.getName());
48
49 public Faa8710Form() {
50 initComponents();
51 }
52
53 public void refresh() {
54 tableModel.refreshModel();
55 }
56
57 private void initComponents() {
58
59 tableModel = (Faa8710Model) SpringUtil.getApplicationContext().getBean(IServicesConstants.SWING_FAA8710_MODEL);
60 tableModel.refreshModel();
61
62 jTableReport = new JTable(tableModel);
63 jTableReport.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
64 jTableReport.setPreferredSize(new Dimension(750,270));
65 jTableReport.setPreferredScrollableViewportSize(new Dimension(700,260));
66 ColorRowsTableCellRender colorizeRows = new ColorRowsTableCellRender();
67 colorizeRows.setOddRowColor(new Color(255,255,204));
68
69 jTableReport.setDefaultRenderer(String.class, colorizeRows);
70 jTableReport.getColumnModel().getColumn(0).setMinWidth(193);
71 jTableReport.getColumnModel().getColumn(1).setMinWidth(60);
72 jTableReport.getColumnModel().getColumn(2).setMinWidth(60);
73 jTableReport.getColumnModel().getColumn(3).setMinWidth(80);
74 jTableReport.getColumnModel().getColumn(4).setMinWidth(50);
75 jTableReport.getColumnModel().getColumn(5).setMinWidth(90);
76 jTableReport.getColumnModel().getColumn(6).setMinWidth(60);
77 jTableReport.getColumnModel().getColumn(7).setMinWidth(90);
78 jTableReport.getColumnModel().getColumn(8).setMinWidth(90);
79 JScrollPane jscrolling = new JScrollPane(jTableReport);
80 TableUtils.setColumnWidths(jTableReport, jTableReport.getInsets(), true, false);
81 add(jscrolling);
82
83 }
84
85 public void print() {
86 SwingUtilities.invokeLater(new Runnable() {
87 public void run() {
88 try {
89 jTableReport.print(JTable.PrintMode.FIT_WIDTH, new MessageFormat("FAA 8710 Totals"), new MessageFormat("Page {0, number}"));
90 } catch(PrinterException pe) {
91 LOG.log(Level.WARNING, "Unable to print ", pe);
92 }
93 }
94 });
95 }
96
97 }