Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

SpreadsheetViewer.java

00001 package guiUtilities;
00002 import javax.swing.event.ListSelectionListener;
00003 import javax.swing.event.ListSelectionEvent;
00004 import javax.swing.*;
00005 import javax.swing.table.AbstractTableModel;
00006 import Preferences.*;
00007 
00012 public class SpreadsheetViewer extends javax.swing.JFrame implements ListSelectionListener {
00013     private static SpreadsheetViewer instance = new SpreadsheetViewer();
00014     int selectedRow;
00015     ListSelectionModel rowSM;
00016     myTableAdapter db;
00019     public SpreadsheetViewer() {
00020         super("Spreadsheet Viewer");
00021         db = new myTableAdapter();
00022         selectedRow=-1;
00023         initComponents();
00024     }
00025 
00026     public static SpreadsheetViewer getInstance() {
00027         return instance;
00028     }
00029     
00035     private void initComponents() {
00036         java.awt.GridBagConstraints gridBagConstraints;
00037 
00038         scrollPane = new javax.swing.JScrollPane();
00039         saveButton = new javax.swing.JButton();
00040         closeButton = new javax.swing.JButton();
00041         titleLabel = new javax.swing.JLabel();
00042 
00043         getContentPane().setLayout(new java.awt.GridBagLayout());
00044 
00045         addWindowListener(new java.awt.event.WindowAdapter() {
00046             public void windowClosing(java.awt.event.WindowEvent evt) {
00047                 exitForm(evt);
00048             }
00049         });
00050 
00051         table = new JTable(db);
00052 //        table.setPreferredScrollableViewportSize(new java.awt.Dimension(800, 150));
00053         table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
00054         table.setFont(new java.awt.Font("Arial",java.awt.Font.PLAIN,10));
00055         rowSM = table.getSelectionModel();
00056         rowSM.addListSelectionListener(this);
00057         scrollPane = new JScrollPane(table);
00058         scrollPane.setMaximumSize(new java.awt.Dimension(900, 800));
00059         scrollPane.setMinimumSize(new java.awt.Dimension(800, 150));
00060         scrollPane.setPreferredSize(new java.awt.Dimension(800, 150));
00061         scrollPane.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED));
00062 
00063         gridBagConstraints = new java.awt.GridBagConstraints();
00064         gridBagConstraints.gridx = 0;
00065         gridBagConstraints.gridy = 1;
00066         gridBagConstraints.gridwidth = 2;
00067         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
00068         gridBagConstraints.weighty = 0.85;
00069         gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
00070         getContentPane().add(scrollPane, gridBagConstraints);
00071 
00072         saveButton.setText("Save spreadsheet");
00073         saveButton.setFont(new java.awt.Font("Arial",java.awt.Font.PLAIN,10));
00074         gridBagConstraints = new java.awt.GridBagConstraints();
00075         gridBagConstraints.gridx = 0;
00076         gridBagConstraints.gridy = 2;
00077         gridBagConstraints.weightx = 0.5;
00078         gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
00079         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
00080         getContentPane().add(saveButton, gridBagConstraints);
00081         saveButton.setEnabled(false);
00082         saveButton.addActionListener(new java.awt.event.ActionListener() {
00083             public void actionPerformed(java.awt.event.ActionEvent evt) {
00084         
00085              JFileChooser fc;
00086              fc = new JFileChooser(PreferencesInterface.getInstance().getPreference(PreferencesInterface.SCRATCH_DIR));
00087 
00088              int returnVal = fc.showSaveDialog(null);
00089              if (returnVal != JFileChooser.APPROVE_OPTION) return;
00090 
00091              java.io.File file = fc.getSelectedFile();
00092              db.writeTXT(file); 
00093 
00094             }
00095         });
00096 
00097         closeButton.setText("Close");
00098         closeButton.setFont(new java.awt.Font("Arial",java.awt.Font.PLAIN,10));
00099         gridBagConstraints = new java.awt.GridBagConstraints();
00100         gridBagConstraints.gridx = 1;
00101         gridBagConstraints.gridy = 2;
00102         gridBagConstraints.weightx = 0.5;
00103         gridBagConstraints.weighty = 0.1;
00104         gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
00105         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHEAST;
00106         getContentPane().add(closeButton, gridBagConstraints);
00107         closeButton.addActionListener(new java.awt.event.ActionListener() {
00108             public void actionPerformed(java.awt.event.ActionEvent evt) {
00109               setVisible(false);
00110             }
00111         });
00112 
00113 
00114         titleLabel.setText("title");
00115         titleLabel.setFont(new java.awt.Font("Arial",java.awt.Font.PLAIN,10));
00116         titleLabel.setForeground(new java.awt.Color(51, 0, 153));
00117         gridBagConstraints = new java.awt.GridBagConstraints();
00118         gridBagConstraints.gridx = 0;
00119         gridBagConstraints.gridy = 0;
00120         gridBagConstraints.gridwidth = 2;
00121         gridBagConstraints.weighty = 0.05;
00122         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
00123         gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2);
00124         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
00125         getContentPane().add(titleLabel, gridBagConstraints);
00126 
00127         pack();
00128     }
00129     
00130 //      public java.awt.Insets getInsets() {
00131 //              return new java.awt.Insets(10,10,10,10);
00132 //              }
00133 
00135     private void exitForm(java.awt.event.WindowEvent evt) {
00136         setVisible(false);
00137     }
00138     
00139 
00140      public void valueChanged(ListSelectionEvent e) {
00141           selectedRow=-1;
00142           if(e.getValueIsAdjusting()) return;
00143           ListSelectionModel lsm = (ListSelectionModel)e.getSource();
00144           if(lsm.isSelectionEmpty()) {
00145 
00146             }
00147           else {
00148              selectedRow = lsm.getMinSelectionIndex();
00149 
00150              }
00151           }
00152 
00153    public void update(String text, java.util.Vector theData) {
00154      titleLabel.setText(text);
00155      db.reTable(theData);
00156      if(db.recordCount>0) {
00157            saveButton.setEnabled(true);
00158          } else {
00159            saveButton.setEnabled(false);
00160          }
00161       show();
00162      }
00163    public int getSelectedRow() {
00164       return rowSM.getMinSelectionIndex();
00165       }
00166 
00167 
00168     
00169     
00170     // Variables declaration - do not modify
00171     private javax.swing.JButton saveButton;
00172     private javax.swing.JButton closeButton;
00173     private javax.swing.JLabel titleLabel;
00174     private javax.swing.JScrollPane scrollPane;
00175     private javax.swing.JTable table;
00176     // End of variables declaration
00177 
00178 
00179     
00180 }

Generated on Thu Jul 15 09:55:49 2004 for SCT DAQ/DCS Software - Java by doxygen 1.3.5