SHOW:
|
|
- or go back to the newest paste.
| 1 | - | /* |
| 1 | + | |
| 2 | - | * To change this template, choose Tools | Templates |
| 2 | + | * iNed - NED Database Data Retrieval Tool |
| 3 | - | * and open the template in the editor. |
| 3 | + | * Accesses the NED Online Database and parses Data into a CSV file specified by the end user. |
| 4 | * @author ccreason | |
| 5 | */ | |
| 6 | package dad.inedgui; | |
| 7 | - | import java.awt.Component; |
| 7 | + | |
| 8 | import au.com.bytecode.opencsv.*; | |
| 9 | import java.io.*; | |
| 10 | - | |
| 10 | + | import java.util.List; |
| 11 | import javax.swing.JFileChooser; | |
| 12 | - | class MyCustomFilter extends javax.swing.filechooser.FileFilter {
|
| 12 | + | |
| 13 | class CSVFilter extends javax.swing.filechooser.FileFilter {
| |
| 14 | ||
| 15 | - | // Allow only directories, or files with ".txt" extension |
| 15 | + | |
| 16 | - | return file.isDirectory() || file.getAbsolutePath().endsWith(".txt");
|
| 16 | + | |
| 17 | // Allow just directories and files with ".csv" extension... | |
| 18 | return file.isDirectory() || file.getAbsolutePath().endsWith(".csv");
| |
| 19 | } | |
| 20 | ||
| 21 | @Override | |
| 22 | - | return "Text documents (*.txt)"; |
| 22 | + | |
| 23 | // This description will be displayed in the dialog, | |
| 24 | - | } |
| 24 | + | |
| 25 | return "CSV Documents (*.csv)"; | |
| 26 | - | /** |
| 26 | + | |
| 27 | - | * |
| 27 | + | |
| 28 | } | |
| 29 | ||
| 30 | public class iNedGui extends javax.swing.JFrame {
| |
| 31 | - | class CSVFilter extends javax.swing.filechooser.FileFilter {
|
| 31 | + | |
| 32 | ||
| 33 | private java.util.List<String[]> list; | |
| 34 | ||
| 35 | /** | |
| 36 | * Creates new form iNedGui | |
| 37 | */ | |
| 38 | public iNedGui() {
| |
| 39 | initComponents(); | |
| 40 | } | |
| 41 | ||
| 42 | /** | |
| 43 | * This method is called from within the constructor to initialize the form. | |
| 44 | * WARNING: Do NOT modify this code. The content of this method is always | |
| 45 | * regenerated by the Form Editor. | |
| 46 | */ | |
| 47 | @SuppressWarnings("unchecked")
| |
| 48 | // <editor-fold defaultstate="collapsed" desc="Generated Code"> | |
| 49 | private void initComponents() {
| |
| 50 | ||
| 51 | fileChooser = new javax.swing.JFileChooser(); | |
| 52 | jPanel1 = new javax.swing.JPanel(); | |
| 53 | jScrollPane2 = new javax.swing.JScrollPane(); | |
| 54 | table = new javax.swing.JTable(); | |
| 55 | jMenuBar1 = new javax.swing.JMenuBar(); | |
| 56 | jMenu1 = new javax.swing.JMenu(); | |
| 57 | open = new javax.swing.JMenuItem(); | |
| 58 | save = new javax.swing.JMenuItem(); | |
| 59 | exit = new javax.swing.JMenuItem(); | |
| 60 | jMenu2 = new javax.swing.JMenu(); | |
| 61 | getcolumn = new javax.swing.JMenuItem(); | |
| 62 | jMenu3 = new javax.swing.JMenu(); | |
| 63 | prefs = new javax.swing.JMenuItem(); | |
| 64 | about = new javax.swing.JMenuItem(); | |
| 65 | readme = new javax.swing.JMenuItem(); | |
| 66 | ||
| 67 | setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); | |
| 68 | - | jScrollBar1 = new javax.swing.JScrollBar(); |
| 68 | + | |
| 69 | - | jScrollBar2 = new javax.swing.JScrollBar(); |
| 69 | + | table.setModel(new javax.swing.table.DefaultTableModel( |
| 70 | - | jScrollPane1 = new javax.swing.JScrollPane(); |
| 70 | + | new Object [][] {
|
| 71 | - | textarea = new javax.swing.JTextArea(); |
| 71 | + | {null, null, null, null},
|
| 72 | {null, null, null, null},
| |
| 73 | {null, null, null, null},
| |
| 74 | - | Open = new javax.swing.JMenuItem(); |
| 74 | + | {null, null, null, null}
|
| 75 | - | Save = new javax.swing.JMenuItem(); |
| 75 | + | }, |
| 76 | - | jMenuItem3 = new javax.swing.JMenuItem(); |
| 76 | + | new String [] {
|
| 77 | - | dataMenu = new javax.swing.JMenu(); |
| 77 | + | "Title 1", "Title 2", "Title 3", "Title 4" |
| 78 | - | fetchNew = new javax.swing.JMenuItem(); |
| 78 | + | |
| 79 | - | helpMenu = new javax.swing.JMenu(); |
| 79 | + | )); |
| 80 | - | Preferences = new javax.swing.JMenuItem(); |
| 80 | + | jScrollPane2.setViewportView(table); |
| 81 | - | Readme = new javax.swing.JMenuItem(); |
| 81 | + | |
| 82 | - | About = new javax.swing.JMenuItem(); |
| 82 | + | javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); |
| 83 | jPanel1.setLayout(jPanel1Layout); | |
| 84 | - | fileChooser.setDialogTitle("Choose a CSV File");
|
| 84 | + | jPanel1Layout.setHorizontalGroup( |
| 85 | - | fileChooser.setFileFilter(new MyCustomFilter()); |
| 85 | + | jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| 86 | .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 800, Short.MAX_VALUE) | |
| 87 | ); | |
| 88 | jPanel1Layout.setVerticalGroup( | |
| 89 | - | jScrollBar2.setOrientation(javax.swing.JScrollBar.HORIZONTAL); |
| 89 | + | jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| 90 | .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 648, Short.MAX_VALUE) | |
| 91 | - | textarea.setColumns(20); |
| 91 | + | |
| 92 | - | textarea.setRows(5); |
| 92 | + | |
| 93 | - | jScrollPane1.setViewportView(textarea); |
| 93 | + | |
| 94 | ||
| 95 | open.setText("Open File...");
| |
| 96 | - | jMenu1.addActionListener(new java.awt.event.ActionListener() {
|
| 96 | + | open.addActionListener(new java.awt.event.ActionListener() {
|
| 97 | public void actionPerformed(java.awt.event.ActionEvent evt) {
| |
| 98 | - | jMenu1ActionPerformed(evt); |
| 98 | + | openActionPerformed(evt); |
| 99 | } | |
| 100 | }); | |
| 101 | jMenu1.add(open); | |
| 102 | - | Open.setText("Open...");
|
| 102 | + | |
| 103 | - | Open.addActionListener(new java.awt.event.ActionListener() {
|
| 103 | + | save.setText("Save File");
|
| 104 | save.addActionListener(new java.awt.event.ActionListener() {
| |
| 105 | - | OpenActionPerformed(evt); |
| 105 | + | |
| 106 | saveActionPerformed(evt); | |
| 107 | } | |
| 108 | - | jMenu1.add(Open); |
| 108 | + | |
| 109 | jMenu1.add(save); | |
| 110 | - | Save.setText("Save...");
|
| 110 | + | |
| 111 | - | Save.addActionListener(new java.awt.event.ActionListener() {
|
| 111 | + | exit.setText("Exit Program");
|
| 112 | exit.addActionListener(new java.awt.event.ActionListener() {
| |
| 113 | - | SaveActionPerformed(evt); |
| 113 | + | |
| 114 | exitActionPerformed(evt); | |
| 115 | } | |
| 116 | - | jMenu1.add(Save); |
| 116 | + | |
| 117 | jMenu1.add(exit); | |
| 118 | - | jMenuItem3.setText("Exit");
|
| 118 | + | |
| 119 | - | jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
|
| 119 | + | |
| 120 | ||
| 121 | - | jMenuItem3ActionPerformed(evt); |
| 121 | + | jMenu2.setText("Edit");
|
| 122 | ||
| 123 | getcolumn.setText("Get New Column...");
| |
| 124 | - | jMenu1.add(jMenuItem3); |
| 124 | + | jMenu2.add(getcolumn); |
| 125 | ||
| 126 | jMenuBar1.add(jMenu2); | |
| 127 | ||
| 128 | - | dataMenu.setText("Data");
|
| 128 | + | jMenu3.setText("Help");
|
| 129 | ||
| 130 | - | fetchNew.setText("Fetch New Column");
|
| 130 | + | prefs.setText("Preferences");
|
| 131 | - | dataMenu.add(fetchNew); |
| 131 | + | jMenu3.add(prefs); |
| 132 | ||
| 133 | - | jMenuBar1.add(dataMenu); |
| 133 | + | about.setText("About iNed...");
|
| 134 | jMenu3.add(about); | |
| 135 | - | helpMenu.setText("Help");
|
| 135 | + | |
| 136 | readme.setText("Readme");
| |
| 137 | - | Preferences.setText("Preferences");
|
| 137 | + | jMenu3.add(readme); |
| 138 | - | helpMenu.add(Preferences); |
| 138 | + | |
| 139 | jMenuBar1.add(jMenu3); | |
| 140 | - | Readme.setText("Readme...");
|
| 140 | + | |
| 141 | - | Readme.addActionListener(new java.awt.event.ActionListener() {
|
| 141 | + | |
| 142 | ||
| 143 | - | ReadmeActionPerformed(evt); |
| 143 | + | |
| 144 | getContentPane().setLayout(layout); | |
| 145 | layout.setHorizontalGroup( | |
| 146 | - | helpMenu.add(Readme); |
| 146 | + | |
| 147 | .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) | |
| 148 | - | About.setText("About iNed");
|
| 148 | + | |
| 149 | - | helpMenu.add(About); |
| 149 | + | |
| 150 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) | |
| 151 | - | jMenuBar1.add(helpMenu); |
| 151 | + | |
| 152 | .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) | |
| 153 | .addGap(0, 0, Short.MAX_VALUE)) | |
| 154 | ); | |
| 155 | ||
| 156 | pack(); | |
| 157 | }// </editor-fold> | |
| 158 | ||
| 159 | - | .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() |
| 159 | + | private void exitActionPerformed(java.awt.event.ActionEvent evt) {
|
| 160 | - | .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) |
| 160 | + | System.exit(0); |
| 161 | - | .addGroup(layout.createSequentialGroup() |
| 161 | + | |
| 162 | - | .addContainerGap() |
| 162 | + | |
| 163 | - | .addComponent(jScrollBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
| 163 | + | private void openActionPerformed(java.awt.event.ActionEvent evt) {
|
| 164 | - | .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 571, Short.MAX_VALUE)) |
| 164 | + | |
| 165 | - | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
| 165 | + | |
| 166 | - | .addComponent(jScrollBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) |
| 166 | + | |
| 167 | File file = fileChooser.getSelectedFile(); | |
| 168 | try {
| |
| 169 | // What to do with the file, e.g. display it in a TextArea | |
| 170 | - | .addComponent(jScrollBar1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
| 170 | + | CSVReader reader = new CSVReader(new FileReader( file.getAbsolutePath())); |
| 171 | List myEntries = reader.readAll(); | |
| 172 | - | .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 439, Short.MAX_VALUE) |
| 172 | + | table (myEntries.toArray()); |
| 173 | - | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
| 173 | + | |
| 174 | - | .addComponent(jScrollBar2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) |
| 174 | + | |
| 175 | } | |
| 176 | } else {
| |
| 177 | System.out.println("File access cancelled by user.");
| |
| 178 | } | |
| 179 | ||
| 180 | - | private void ReadmeActionPerformed(java.awt.event.ActionEvent evt) {
|
| 180 | + | |
| 181 | - | // TODO add your handling code here: |
| 181 | + | |
| 182 | - | } |
| 182 | + | |
| 183 | private void saveActionPerformed(java.awt.event.ActionEvent evt) {
| |
| 184 | - | private void OpenActionPerformed(java.awt.event.ActionEvent evt) {
|
| 184 | + | try {
|
| 185 | try (BufferedWriter out = new BufferedWriter(new FileWriter("outfilename"))) {
| |
| 186 | out.write("toArray");
| |
| 187 | } | |
| 188 | } catch (IOException e) {
| |
| 189 | } | |
| 190 | - | textarea.read( new FileReader( file.getAbsolutePath() ), null ); |
| 190 | + | |
| 191 | ||
| 192 | /** | |
| 193 | * @param args the command line arguments | |
| 194 | */ | |
| 195 | public static void main(String args[]) {
| |
| 196 | /* Set the Nimbus look and feel */ | |
| 197 | //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> | |
| 198 | /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. | |
| 199 | * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html | |
| 200 | - | private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt) {
|
| 200 | + | |
| 201 | - | // int returnVal = fc.showSaveDialog(FileChooserDemo.this); |
| 201 | + | |
| 202 | - | } |
| 202 | + | |
| 203 | if ("Nimbus".equals(info.getName())) {
| |
| 204 | - | private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
|
| 204 | + | |
| 205 | - | System.exit(0); |
| 205 | + | |
| 206 | - | } |
| 206 | + | |
| 207 | } | |
| 208 | - | private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
|
| 208 | + | } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
|
| 209 | - | //TODO |
| 209 | + | |
| 210 | } | |
| 211 | //</editor-fold> | |
| 212 | ||
| 213 | /* Create and display the form */ | |
| 214 | java.awt.EventQueue.invokeLater(new Runnable() {
| |
| 215 | @Override | |
| 216 | - | /* |
| 216 | + | |
| 217 | - | * Set the Nimbus look and feel |
| 217 | + | |
| 218 | } | |
| 219 | }); | |
| 220 | - | /* |
| 220 | + | |
| 221 | - | * If Nimbus (introduced in Java SE 6) is not available, stay with the |
| 221 | + | |
| 222 | - | * default look and feel. For details see |
| 222 | + | private javax.swing.JMenuItem about; |
| 223 | - | * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html |
| 223 | + | private javax.swing.JMenuItem exit; |
| 224 | private javax.swing.JFileChooser fileChooser; | |
| 225 | private javax.swing.JMenuItem getcolumn; | |
| 226 | private javax.swing.JMenu jMenu1; | |
| 227 | private javax.swing.JMenu jMenu2; | |
| 228 | private javax.swing.JMenu jMenu3; | |
| 229 | private javax.swing.JMenuBar jMenuBar1; | |
| 230 | private javax.swing.JPanel jPanel1; | |
| 231 | private javax.swing.JScrollPane jScrollPane2; | |
| 232 | - | } catch (ClassNotFoundException ex) {
|
| 232 | + | private javax.swing.JMenuItem open; |
| 233 | private javax.swing.JMenuItem prefs; | |
| 234 | - | } catch (InstantiationException ex) {
|
| 234 | + | private javax.swing.JMenuItem readme; |
| 235 | private javax.swing.JMenuItem save; | |
| 236 | - | } catch (IllegalAccessException ex) {
|
| 236 | + | private javax.swing.JTable table; |
| 237 | // End of variables declaration | |
| 238 | - | } catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
| 238 | + | |
| 239 | private void table(Object[] toArray) {
| |
| 240 | ||
| 241 | } | |
| 242 | } |