X-Git-Url: https://harishankar.org/repos/?p=habeas.git;a=blobdiff_plain;f=src%2Fhabeas%2FDatabaseSettingsDialog.java;h=763361e9b0ae2627cf7c2f254ab22a79e60e6ff2;hp=5a9ce9b6d7c3cccf9a08b8be131d27d3497707b2;hb=43efa7c67c7da936d3395345983dde4603253896;hpb=3d2f6cfab3becbf7ad69924e63b91fa7e2745fc7 diff --git a/src/habeas/DatabaseSettingsDialog.java b/src/habeas/DatabaseSettingsDialog.java index 5a9ce9b..763361e 100644 --- a/src/habeas/DatabaseSettingsDialog.java +++ b/src/habeas/DatabaseSettingsDialog.java @@ -5,8 +5,8 @@ */ package habeas; -import java.util.prefs.Preferences; import javax.swing.JFileChooser; +import javax.swing.JOptionPane; /** * @@ -37,11 +37,11 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { buttonChooseFile = new javax.swing.JButton(); buttonClose = new javax.swing.JButton(); buttonApply = new javax.swing.JButton(); + jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Connection"); setLocationByPlatform(true); - setResizable(false); jLabel1.setText("Path to Database"); @@ -52,6 +52,7 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { } }); + buttonClose.setMnemonic('C'); buttonClose.setText("Close"); buttonClose.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -59,6 +60,7 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { } }); + buttonApply.setMnemonic('a'); buttonApply.setText("Apply"); buttonApply.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { @@ -66,6 +68,13 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { } }); + jButton1.setText("Create..."); + jButton1.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jButton1ActionPerformed(evt); + } + }); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( @@ -75,16 +84,18 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(txtDatabaseURL, javax.swing.GroupLayout.PREFERRED_SIZE, 231, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(buttonApply, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(txtDatabaseURL, javax.swing.GroupLayout.DEFAULT_SIZE, 255, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(buttonClose, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(buttonChooseFile, javax.swing.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)))) - .addContainerGap()) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(buttonChooseFile, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE) + .addComponent(buttonApply, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE) + .addComponent(buttonClose, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -94,11 +105,12 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtDatabaseURL, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(buttonChooseFile)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 29, Short.MAX_VALUE) + .addComponent(buttonChooseFile) + .addComponent(jButton1)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(buttonClose) - .addComponent(buttonApply)) + .addComponent(buttonApply) + .addComponent(buttonClose)) .addContainerGap()) ); @@ -107,7 +119,7 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { private void buttonApplyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonApplyActionPerformed // TODO add your handling code here - Utility.setConnectionURL (txtDatabaseURL.getText()); + Utility.saveConnectionURL (txtDatabaseURL.getText()); }//GEN-LAST:event_buttonApplyActionPerformed private void buttonCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCloseActionPerformed @@ -124,6 +136,22 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { } }//GEN-LAST:event_buttonChooseFileActionPerformed + private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed + // TODO add your handling code here: + JFileChooser chooser = new JFileChooser (); + int i = chooser.showSaveDialog(this); + if (i == JFileChooser.APPROVE_OPTION) { + String db_path = chooser.getSelectedFile().getAbsolutePath(); + boolean rt = Utility.createDatabase (db_path); + if (rt == false) + JOptionPane.showMessageDialog(this, ERROR_CREATING_TABLE); + else + txtDatabaseURL.setText(db_path); + } + }//GEN-LAST:event_jButton1ActionPerformed + private static final String ERROR_CREATING_TABLE = "Error creating database. " + + "Please check connection settings and driver"; + /** * @param args the command line arguments */ @@ -171,6 +199,7 @@ public class DatabaseSettingsDialog extends javax.swing.JDialog { private javax.swing.JButton buttonApply; private javax.swing.JButton buttonChooseFile; private javax.swing.JButton buttonClose; + private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JTextField txtDatabaseURL; // End of variables declaration//GEN-END:variables